无法查询将数据存储为序列文件格式的Hive表,其中数据来自HBASE导出实用程序

时间:2017-09-30 15:39:56

标签: hive export hbase

我通过export实用程序将数据集从 HBASE 导出到 HIVE 。数据以序列文件格式出现。 现在,我正在使用"stored as sequencefile"创建一个配置单元表。

当我做的很简单时,选择带有hive表限制的查询,我得到以下异常

java.io.IOException:找不到Value类的反序列化器:'org.apache.hadoop.hbase.client.Result'。请确保已正确配置配置“io.serializations”

下面详细的错误跟踪:

  

请求TFetchResultsReq的错误状态(fetchType = 0,   operationHandle = TOperationHandle(hasResultSet =真,   modifiedRowCount = None,operationType = 0,   operationId = THandleIdentifier(秘密= '\ XB2 \ x9a ^ \ XC5 \ XC5 \ xf3BV \ XB1 \ XB8 \ XE7 \ XB6 \ XAB \ xe7f \ XC0',   GUID = '\ XCA \ X0C \ xc9 \\ XC0%@ \ XB4 \ XA1 {\ XE4 \ xc7 \的Xaa(; \ XCB')),   orientation = 4,maxRows = 100):   TFetchResultsResp(状态= TStatus(错误码= 0,   errorMessage =“java.io.IOException:java.io.IOException:找不到   Value类的反序列化器:   'org.apache.hadoop.hbase.client.Result'。请确保   配置'io.serializations'已正确配置,如果你是   使用自定义序列化。“,sqlState = None,   infoMessages = [“* org.apache.hive.service.cli.HiveSQLException:java.io.IOException的:   java.io.IOException:找不到Value的反序列化器   class:'org.apache.hadoop.hbase.client.Result'。请确保   配置'io.serializations'已正确配置,如果你是   使用自定义序列化。:14:13“,   'org.apache.hive.service.cli.operation.SQLOperation:getNextRowSet:SQLOperation.java:366',   'org.apache.hive.service.cli.operation.OperationManager:getOperationNextRowSet:OperationManager.java:277',   'org.apache.hive.service.cli.session.HiveSessionImpl:fetchResults:HiveSessionImpl.java:753',   'org.apache.hive.service.cli.CLIService:fetchResults:CLIService.java:438',   'org.apache.hive.service.cli.thrift.ThriftCLIService:FetchResults:ThriftCLIService.java:686',   'org.apache.hive.service.cli.thrift.TCLIService $处理器$ FetchResults:的getResult:TCLIService.java:1553',   'org.apache.hive.service.cli.thrift.TCLIService $处理器$ FetchResults:的getResult:TCLIService.java:1538',   'org.apache.thrift.ProcessFunction:过程:ProcessFunction.java:39',   'org.apache.thrift.TBaseProcessor:过程:TBaseProcessor.java:39',   'org.apache.hadoop.hive.thrift.HadoopThriftAuthBridge $服务器$ TUGIAssumingProcessor:过程:HadoopThriftAuthBridge.java:746',   'org.apache.thrift.server.TThreadPoolServer $ WorkerProcess:运行:TThreadPoolServer.java:286',   'java.util.concurrent.ThreadPoolExecutor中:runWorker:ThreadPoolExecutor.java:1142',   'java.util.concurrent.ThreadPoolExecutor中的$工人:运行:ThreadPoolExecutor.java:617',   'java.lang.Thread中:运行:Thread.java:745',   “* java.io.IOException:java.io.IOException:找不到   Value类的反序列化器:   'org.apache.hadoop.hbase.client.Result'。请确保   配置'io.serializations'已正确配置,如果你是   使用自定义序列化。:18: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:取:FetchTask.java:138',   'org.apache.hadoop.hive.ql.Driver:getResults:Driver.java:1798',   'org.apache.hive.service.cli.operation.SQLOperation:getNextRowSet:SQLOperation.java:361',   “* java.io.IOException:找不到Value的反序列化器   class:'org.apache.hadoop.hbase.client.Result'。请确保   配置'io.serializations'已正确配置,如果你是   使用自定义序列化。:26:8“,   'org.apache.hadoop.io.SequenceFile $读者:初始化:SequenceFile.java:2040',   'org.apache.hadoop.io.SequenceFile $读者:初始化:SequenceFile.java:1878年',   'org.apache.hadoop.io.SequenceFile $读者:: SequenceFile.java:1827',   'org.apache.hadoop.io.SequenceFile $读者:: SequenceFile.java:1841',   'org.apache.hadoop.mapred.SequenceFileRecordReader :: SequenceFileRecordReader.java:49',   'org.apache.hadoop.mapred.SequenceFileInputFormat:getRecordReader:SequenceFileInputFormat.java:64',   'org.apache.hadoop.hive.ql.exec.FetchOperator $ FetchInputFormatSplit:getRecordReader:FetchOperator.java:674',   'org.apache.hadoop.hive.ql.exec.FetchOperator:getRecordReader:FetchOperator.java:324',   'org.apache.hadoop.hive.ql.exec.FetchOperator:getNextRow:FetchOperator.java:446'],   statusCode = 3),results = None,hasMoreRows = None)

0 个答案:

没有答案