hadoop - Hive 与 Hbase 集成 null

标签 hadoop hive hbase

大家。我尝试使用 hbase 集成但遇到了问题。hive 的时间戳字段查询为空。 我的 sql 是:

CREATE EXTERNAL TABLE hbase_data(nid string, dillegaldate timestamp, coffense string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES( "hbase.columns.mapping"=":key,0:DILLEGALTIMESTAMP,0:COFFENSE") TBLPROPERTIES("hbase.table.name" = "ILLEGAL_DATA");

执行成功,但通过hive查询

select * from hbase_data limit 10;

列 dillegaldate 是空的,我用谷歌搜索了很多时间,但仍然没有找到问题。谁能告诉我如何解决它?非常感谢

最佳答案

0:DILLEGALTIMESTAMP 替换为 0:DILLEGALTIMESTAMP#b

CREATE EXTERNAL TABLE hbase_data(nid string, dillegaldate timestamp, coffense string) STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler' WITH SERDEPROPERTIES( "hbase.columns.mapping"=":key,0:DILLEGALTIMESTAMP#b,0:COFFENSE") TBLPROPERTIES("hbase.table.name" = "ILLEGAL_DATA");

映射条目必须是 :key、:timestamp 或 column-family-name:[column-name][#(binary|string) 形式(由 # 分隔的类型规范是在 Hive 0.9 中添加的。 0,早期版本将所有内容解释为字符串) 如果没有给出类型规范,将使用 hbase.table.default.storage.type 中的值 有效值的任何前缀也是有效的(即 #b 而不是 #binary) 如果您将列指定为二进制,则相应 HBase 单元格中的字节应采用 HBase 的字节类产生的形式。

HBaseIntegration

关于hadoop - Hive 与 Hbase 集成 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46091818/

相关文章:

python - 使用python通过thrift从hbase读取数据时出错

java - 如何在 Java 中获取 HBase 的行键

hadoop - NativeException:org.apache.hadoop.hbase.MasterNotRunningException:null

java - 对象的jvm地址为0是什么意思?

hadoop - Spark SQL 抛出错误 "java.lang.UnsupportedOperationException: Unknown field type: void"

hadoop - Splunk:HDFS 容量 N/A

java - 按每个字符串中的最后一个逗号拆分数组中的字符串

hadoop - 从 REDUCER 将输出写入多个表

hadoop - 表在 Hive 中不可见

hadoop - 如何计算 Hive 中两个数组的交集和并集?