首页 > 代码库 > hive与hbase数据类型对应关系
hive与hbase数据类型对应关系
hive与hbase数据类型对应关系
当hbase中double,int 类型以byte方式存储时,用字符串取出来必然是乱码。
在hivd与hbase整合时也遇到这个问题:做法是:#b
1.加#b
CREATE EXTERNAL TABLE hivebig (key string,CUST_NAME string,PHONE_NUM int,BRD_WORK_FLUX double)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,bd:CUST_NAME,bd:PHONE_NUM#b,bd:BRD_WORK_FLUX#b")
TBLPROPERTIES ("hbase.table.name" = "bigtable2");
2.不加#b时,hive shell读取出来是乱码
CREATE EXTERNAL TABLE hivebig (key string,CUST_NAME string,PHONE_NUM int,BRD_WORK_FLUX double)
STORED BY ‘org.apache.hadoop.hive.hbase.HBaseStorageHandler‘WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,bd:CUST_NAME,bd:PHONE_NUM,bd:BRD_WORK_FLUX")
TBLPROPERTIES ("hbase.table.name" = "bigtable2");
select * FROM hivebig;
select * FROM hivebig where PHONE_NUM > 1;
select * FROM hivebig where BRD_WORK_FLUX > 1555;
cf:val#s 中的#s就表示类型为string,cf:foo没有配置类型,则采用hbase.table.default.storage.type的配置,#b为binary
hive与hbase数据类型对应关系
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。