首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Hadoop,Hbase柱及相应的值提取

问Hadoop,Hbase柱及相应的值提取
EN

Stack Overflow用户
提问于 2018-06-13 15:18:35
回答 2查看 331关注 0票数 0

我是hbase新手,我有一个查询,比如如何将列名及其对应的值单独从hbase提取到excel/csv。

我尝试过可能的情况,比如

  • 编写导出整个数据hbase
  • 壳牌到我们当地的位置,但没能用。

有人能给我一个解决办法吗?

所以为了显示例子

代码语言:javascript
复制
cf:ABC timestamp=1234, value=qwer
cf:DEF timestamp=5678, value=9874
cf:GEH  timestamp=10254, value=11223344

如果这是我们的数据,那么我们的最终结果应该是ABC qwer。

代码语言:javascript
复制
DEF 9874

GEH 11223344
EN

回答 2

Stack Overflow用户

发布于 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

代码语言:javascript
复制
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验证数据

代码语言:javascript
复制
>scan "abc"

再次查询回蜂巢

代码语言:javascript
复制
hive>  select * from hive_table limit 10;

现在,您可以将数据导出到带有,分隔符的csv文件中。

票数 1
EN

Stack Overflow用户

发布于 2018-06-14 09:06:58

将hbase shell与get或扫描一起使用,并将输出输送到sed命令以提取colunn名称和值。

但是警告,HBase被设计用来存储数百万或潜在的数十亿行,因此将数据提取为csv格式并不是恰当的用例,除非您只需要检查哪些值存储在rowkey XXX中。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50840812

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档