Nitiraj Singh Rathore created AMBARI-18583:
----------------------------------------------
Summary: 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
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)