我通过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)