我是hbase新手,我有一个查询,比如如何将列名及其对应的值单独从hbase提取到excel/csv。
我尝试过可能的情况,比如
hbase有人能给我一个解决办法吗?
所以为了显示例子
cf:ABC timestamp=1234, value=qwer
cf:DEF timestamp=5678, value=9874
cf:GEH timestamp=10254, value=11223344如果这是我们的数据,那么我们的最终结果应该是ABC qwer。
DEF 9874
GEH 11223344发布于 2018-06-14 10:25:21
如果要将HBase数据导出到csv,其中一种方法是使用HBase表创建使用HBaseStorageHandler映射的Hive EXTERNAL TABLE。
首先,您必须确保HBase依赖项在Hive的类路径上可用。存储句柄hive-hbase-handler-x.y.z.jar,它必须在Hive客户端辅助路径上可用,以及HBase、Guava和ZooKeeper jars。
假设您在abc表中有HBase表,您必须用hive表映射它。
您可以让Hive访问现有的HBase表,使用CREATE EXTERNAL TABLE
CREATE EXTERNAL TABLE hive_table(rowkey int, ABC string,DEF string,GEH string)
STORED BY 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES ("hbase.columns.mapping" = ":key,cf1:ABC,cf1:DEF,cf1:GEH")
TBLPROPERTIES("hbase.table.name" = "abc");使用HBase shell验证数据
>scan "abc"再次查询回蜂巢
hive> select * from hive_table limit 10;现在,您可以将数据导出到带有,分隔符的csv文件中。
发布于 2018-06-14 09:06:58
将hbase shell与get或扫描一起使用,并将输出输送到sed命令以提取colunn名称和值。
但是警告,HBase被设计用来存储数百万或潜在的数十亿行,因此将数据提取为csv格式并不是恰当的用例,除非您只需要检查哪些值存储在rowkey XXX中。
https://stackoverflow.com/questions/50840812
复制相似问题