分享

问一个hdfs导入hbase 的问题 工作中的 望指点

苍山 发表于 2016-9-14 09:52:42 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 10 10176
在HDFS上有 SIEBEL.S_ASSET.txt、SIEBEL.S_ASSET_OM.txtSIEBEL.S_ASSET_HIST.txt 三个文件,我们要将三个文件分放到HBASE的SIEBEL.S_ASSET_NEW表的A列簇、B列簇、C列簇中;


HDFS文件入hbase是需要按照文件的名称顺序及文件中记录顺序入库

已有(10)人评论

跳转到指定楼层
苍山 发表于 2016-9-14 09:53:19
有人能提供点思路嘛,关键要多个文件,
回复

使用道具 举报

pergrand 发表于 2016-9-14 10:49:45
写代码导入hbase;或者使用hive建立外部表,在映射到hbase
回复

使用道具 举报

NEOGX 发表于 2016-9-14 10:50:36
苍山 发表于 2016-9-14 09:53
有人能提供点思路嘛,关键要多个文件,

这个还是比较困难的。

hbase加载数据的方法有5种
HBase 5种写入数据方式
http://www.aboutyun.com/forum.php?mod=viewthread&tid=7448


困难点在于每一个文件对应一个列簇
如果只是数据追加的方式,可以三个文件分别BulkLoad
当然也可以试下,BulkLoad能否指定列簇。推荐文章
MapReduce生成HFile文件,再使用BulkLoad导入HBase中(完全分布式运行)
http://www.aboutyun.com/forum.php?mod=viewthread&tid=10665

通过BulkLoad向Hbase插入数据
http://www.aboutyun.com/forum.php?mod=viewthread&tid=7168





如果BulkLoad不行,还可以采用最笨的方法put。


回复

使用道具 举报

苍山 发表于 2016-9-14 11:03:38
NEOGX 发表于 2016-9-14 10:50
这个还是比较困难的。

hbase加载数据的方法有5种

我的需求是这样的:
     一个路径下有3个文件
     这3个文件每2分钟会新增数据
     要把新增数据导入到hbase中,每一个文件对应一个列族

    这3个文件有一个公共的字段id,这样3个列族数据还要通过id关联起来
回复

使用道具 举报

NEOGX 发表于 2016-9-14 14:50:07
苍山 发表于 2016-9-14 11:03
我的需求是这样的:
     一个路径下有3个文件
     这3个文件每2分钟会新增数据

如果还要关联,hbase恐怕是不行的
回复

使用道具 举报

苍山 发表于 2016-9-14 15:59:05
NEOGX 发表于 2016-9-14 14:50
如果还要关联,hbase恐怕是不行的

已经有同事解决了这个,现在让我把hbase的表有3个列族,怎么设计才能使得查询快
回复

使用道具 举报

苍山 发表于 2016-9-14 15:59:40
现在就是hbase3个列族,怎么才能优化查询,要查询速度快
回复

使用道具 举报

苍山 发表于 2016-9-14 16:00:34
rowkey就是一个字符串id
回复

使用道具 举报

NEOGX 发表于 2016-9-16 20:00:28
苍山 发表于 2016-9-14 15:59
已经有同事解决了这个,现在让我把hbase的表有3个列族,怎么设计才能使得查询快

3个列簇,一个rowkey。
如果想快:
1.不能有数据倾斜
2.把想查询的列放到rowkey中,但是不能太多。
3.可以预分区
推荐
HBase Rowkey的散列与预分区设计
http://www.aboutyun.com/forum.php?mod=viewthread&tid=8909


关于hbase预分区和行键设计

http://www.aboutyun.com/forum.php?mod=viewthread&tid=19557


hbase预分区表能调整吗?

http://www.aboutyun.com/forum.php?mod=viewthread&tid=18376


更多优化方案,楼主可以网上找找
回复

使用道具 举报

12下一页
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条