【发布时间】:2019-04-02 02:32:05
【问题描述】:
我在 HIVE 中使用 twitter 水槽数据工作。到目前为止,我已经成功创建了表并加载了数据,但是当我想对该外部表运行查询时,出现以下错误。
请求状态错误 TFetchResultsReq(fetchType=0, operationHandle=TOperationHandle(hasResultSet=True, modifiedRowCount=None, operationType=0, operationId=THandleIdentifier(secret='#\xabp\xa3\xa7\x83K\xc6\x82\ x94h\xc3\x99\xe4\x81\x01', guid='\xae\xb2\x9d\x19\xdc\xb2@i\xbc\\x85\xb4\xd0\xfe\x0cN')), 方向=4 , maxRows=100): TFetchResultsResp(status=TStatus(errorCode=0, errorMessage="java.io.IOException: org.apache.hadoop.hive.serde2.SerDeException: org.codehaus.jackson.JsonParseException: 意外字符 ('O '(代码 79)):在 [Source: java.io.ByteArrayInputStream@19ee3d8e; line: 1,列:2]",sqlState=None,infoMessages=["*org.apache.hive.service.cli.HiveSQLException:java.io.IOException: org.apache.hadoop.hive.serde2.SerDeException: org.codehaus.jackson .JsonParseException: Unexpected character ('O' (code 79)): 需要一个有效值(数字、字符串、数组、对象、'true'、'false' 或 'null')\ n 在 [来源:java.io.ByteArrayInputStream@19ee3d8e;行:1,列:2]:26:25", 'org.apache.hive.service.cli.operation.SQLOperation:getNextRowSet:SQLOperation.java:463', 'org.apache.hive.service.cli.operation .OperationManager:getOperationNextRowSet:OperationManager.java:294'、'org.apache.hive.service.cli.session.HiveSessionImpl:fetchResults:HiveSessionImpl.java:769'、'sun.reflect.NativeMethodAccessorImpl:invoke0:NativeMethodAccessorImpl.java:- 2'、'sun.reflect.NativeMethodAccessorImpl:invoke:NativeMethodAccessorImpl.java:57'、'sun.reflect.DelegatingMethodAccessorImpl:invoke:DelegatingMethodAccessorImpl.java:43'、'java.lang.reflect.Method:invoke:Method.java: 606', 'org.apache.hive.service.cli.session.HiveSessionProxy:invoke:HiveSessionProxy.java:78', 'org.apache.hive.service.cli.session.HiveSessionProxy:access$000:HiveSessionProxy.java:36 ', 'org.apache.hive.service.cli.session.HiveSessionProxy$1:run:HiveSessionProxy.java:63', 'java.security.AccessController:doPrivileged:AccessController.java:-2', 'javax.security.auth .Subject:doAs:Subject.j ava:415', 'org.apache.hadoop.security.UserGroupInformation:doAs:UserGroupInformation.java:1917', 'org.apache.hive.service.cli.session.HiveSessionProxy:invoke:HiveSessionProxy.java:59', ' com.sun.proxy.$Proxy26:fetchResults::-1', 'org.apache.hive.service.cli.CLIService:fetchResults:CLIService.java:462', 'org.apache.hive.service.cli.thrift .ThriftCLIService:FetchResults:ThriftCLIService.java:694', 'org.apache.hive.service.cli.thrift.TCLIService$Processor$FetchResults:getResult:TCLIService.java:1553', 'org.apache.hive.service.cli .thrift.TCLIService$Processor$FetchResults:getResult:TCLIService.java:1538', 'org.apache.thrift.ProcessFunction:process:ProcessFunction.java:39', 'org.apache.thrift.TBaseProcessor:process:TBaseProcessor.java :39', 'org.apache.hive.service.auth.TSetIpAddressProcessor:process:TSetIpAddressProcessor.java:56', 'org.apache.thrift.server.TThreadPoolServer$WorkerProcess:run:TThreadPoolServer.java:286', 'java .util.concurrent.ThreadPoolExecutor:runWorker:ThreadPoolExecutor.ja va:1145', 'java.util.concurrent.ThreadPoolExecutor$Worker:run:ThreadPoolExecutor.java:615', 'java.lang.Thread:run:Thread.java:745', "*java.io.IOException:org .apache.hadoop.hive.serde2.SerDeException:org.codehaus.jackson.JsonParseException:意外字符('O'(代码 79)):预期有效值(数字、字符串、数组、对象、'true'、'false ' 或 'null')\n 在 [Source: java.io.ByteArrayInputStream@19ee3d8e;行:1,列:2]:30:4", 'org.apache.hadoop.hive.ql.exec.FetchOperator:getNextRow:FetchOperator.java:508', 'org.apache.hadoop.hive.ql.exec .FetchOperator:pushRow:FetchOperator.java:415', 'org.apache.hadoop.hive.ql.exec.FetchTask:fetch:FetchTask.java:140', 'org.apache.hadoop.hive.ql.Driver:getResults :Driver.java:2069', 'org.apache.hive.service.cli.operation.SQLOperation:getNextRowSet:SQLOperation.java:458', "*org.apache.hadoop.hive.serde2.SerDeException:org.codehaus. jackson.JsonParseException: Unexpected character ('O' (code 79)): 在 [Source: java.io .ByteArrayInputStream@19ee3d8e;行:1,列:2]:31:1", 'org.apache.hive.hcatalog.data.JsonSerDe:deserialize:JsonSerDe.java:174', 'org.apache.hadoop.hive.ql.exec.FetchOperator :getNextRow:FetchOperator.java:489', "*org.codehaus.jackson.JsonParseException: Unexpected character ('O' (code 79)): 期望一个有效值(数字、字符串、数组、对象、'true'、' false' 或 'null')\n 在 [Source: java.io.ByteArrayInputStream@19ee3d8e;行:1,列:2]:37:6",'org.codehaus.jackson.JsonParser:_constructError:JsonParser.java:1291','org.codehaus.jackson.impl.JsonParserMinimalBase:_reportError:JsonParserMinimalBase.java:385 ', 'org.codehaus.jackson.impl.JsonParserMinimalBase:_reportUnexpectedChar:JsonParserMinimalBase.java:306', 'org.codehaus.jackson.impl.Utf8StreamParser:_handleUnexpectedValue:Utf8StreamParser.java:1582', 'org.codehaus.jackson.impl .Utf8StreamParser:_nextTokenNotInObject:Utf8StreamParser.java:437', 'org.codehaus.jackson.impl.Utf8StreamParser:nextToken:Utf8StreamParser.java:323', 'org.apache.hive.hcatalog.data.JsonSerDe:deserialize:JsonSerDe.java :163'], statusCode=3), results=None, hasMoreRows=None)
在此错误之前,HIVE 给了我成功查询消息,但后来显示了上述错误,并且没有显示任何查询的结果。谁能告诉我我的错误在哪里以及导致此错误的原因是什么?
【问题讨论】:
-
您能分享您的查询吗?
-
@MayankPorwal 我正在做这样的简单查询 select * from tweets
-
您应该添加、创建表、查询、数据(如果可能)预期结果。如果限制选择会发生同样的情况吗?
-
是的,即使我使用限制结果也会发生,例如 select * from tweets limit 2
-
@hlagos 你认为它与我的水槽数据文件有什么关系吗,因为它也包含一些垃圾......
标签: apache-spark hadoop hive cloudera-cdh hue