You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@ambari.apache.org by "Nitiraj Singh Rathore (JIRA)" <ji...@apache.org> on 2016/10/13 09:01:21 UTC

[jira] [Updated] (AMBARI-18583) Ambari Hive View 'Upload Table' does not support UTF8 files with BOM

     [ https://issues.apache.org/jira/browse/AMBARI-18583?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Nitiraj Singh Rathore updated AMBARI-18583:
-------------------------------------------
    Attachment: AMBARI-18583_branch-2.5.patch

> Ambari Hive View 'Upload Table' does not support UTF8 files with BOM
> --------------------------------------------------------------------
>
>                 Key: AMBARI-18583
>                 URL: https://issues.apache.org/jira/browse/AMBARI-18583
>             Project: Ambari
>          Issue Type: Bug
>          Components: ambari-views
>    Affects Versions: 2.2.2
>            Reporter: Nitiraj Singh Rathore
>            Assignee: Nitiraj Singh Rathore
>             Fix For: 2.5.0
>
>         Attachments: AMBARI-18583_branch-2.5.patch
>
>
> PROBLEM: Ambari Hive view throws an E090 HiveClientFormattedException exception when trying to create a table via the 'Upload Table' function when the file contains the BOM for UTF8 (Byte Order Mark - 0xEF 0xBB 0xBF) . The same file has no problem being loaded when saved without the BOM (via Sublime Text). Deleting the contents of the first column heading and retyping it fixes the issue
> STEPS TO REPRODUCE: Download attached CSV file and try to upload table via Ambari 2.2.2 view.
> EXPECTED RESULT: Table previews correctly, so expected to be able to make the hive table
> ACTUAL RESULT: Ambari view throws the 'E090 HiveClientFormattedException' error, and the hiverserver2.log file throws the following error:
> 2016-08-01 15:29:57,284 INFO  [HiveServer2-Handler-Pool: Thread-32]: parse.ParseDriver (ParseDriver.java:parse(185)) - Parsing command: create table recordsView2 (�nengetu INT, kanji STRING) STORED AS ORC
> 2016-08-01 15:29:57,285 ERROR [HiveServer2-Handler-Pool: Thread-32]: ql.Driver (SessionState.java:printError(932)) - FAILED: ParseException line 1:27 character '�' not supported here
> org.apache.hadoop.hive.ql.parse.ParseException: line 1:27 character '�' not supported here
> 	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:211)
> 	at org.apache.hadoop.hive.ql.parse.ParseDriver.parse(ParseDriver.java:166)
> 	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:428)
> 	at org.apache.hadoop.hive.ql.Driver.compile(Driver.java:316)
> 	at org.apache.hadoop.hive.ql.Driver.compileInternal(Driver.java:1181)
> 	at org.apache.hadoop.hive.ql.Driver.compileAndRespond(Driver.java:1175)
> 	at org.apache.hive.service.cli.operation.SQLOperation.prepare(SQLOperation.java:110)
> 	at org.apache.hive.service.cli.operation.SQLOperation.runInternal(SQLOperation.java:181)
> 	at org.apache.hive.service.cli.operation.Operation.run(Operation.java:257)
> 	at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementInternal(HiveSessionImpl.java:419)
> 	at org.apache.hive.service.cli.session.HiveSessionImpl.executeStatementAsync(HiveSessionImpl.java:406)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:606)
> 	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:78)
> 	at org.apache.hive.service.cli.session.HiveSessionProxy.access$000(HiveSessionProxy.java:36)
> 	at org.apache.hive.service.cli.session.HiveSessionProxy$1.run(HiveSessionProxy.java:63)
> 	at java.security.AccessController.doPrivileged(Native Method)
> 	at javax.security.auth.Subject.doAs(Subject.java:415)
> 	at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1657)
> 	at org.apache.hive.service.cli.session.HiveSessionProxy.invoke(HiveSessionProxy.java:59)
> 	at com.sun.proxy.$Proxy19.executeStatementAsync(Unknown Source)
> 	at org.apache.hive.service.cli.CLIService.executeStatementAsync(CLIService.java:274)
> 	at org.apache.hive.service.cli.thrift.ThriftCLIService.ExecuteStatement(ThriftCLIService.java:486)
> 	at org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1317)
> 	at org.apache.hive.service.cli.thrift.TCLIService$Processor$ExecuteStatement.getResult(TCLIService.java:1302)
> 	at org.apache.thrift.ProcessFunction.process(ProcessFunction.java:39)
> 	at org.apache.thrift.TBaseProcessor.process(TBaseProcessor.java:39)
> 	at org.apache.hive.service.auth.TSetIpAddressProcessor.process(TSetIpAddressProcessor.java:56)
> 	at org.apache.thrift.server.TThreadPoolServer$WorkerProcess.run(TThreadPoolServer.java:285)
> 	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
> 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
> 	at java.lang.Thread.run(Thread.java:745)



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)