HDFS导出数据到HBase的ROW VALUE设置tricks
在做Hadoop的编程时,有时会用到HBase,常常涉及到把HDFS上面的数据导入到HBase中,在这个操作中,row的设置比较重要,如果几条记录的row值一样,同时列簇也一样的话,那么后面的数据就会覆盖前面的数据,比如这样:
比如现在有这样的一个操作:
我要把下面的数据导入HBase:
- 1,101,5.0
- 1,102,3.0
- 1,103,2.5
- 2,101,2.0
- 2,102,2.5
- 2,103,5.0
- 2,104,2.0
- 3,101,2.5
- 3,104,4.0
- 3,105,4.5
- 3,107,5.0
- 4,101,5.0
- 4,103,3.0
- 4,104,4.5
- 4,106,4.0
- 5,101,4.0
- 5,102,3.0
- 5,103,2.0
- 5,104,4.0
- 5,105,3.5
- 5,106,4.0
如果拿第一列作为row值的话,那么最终导入的数据只有5条记录的信息了,如何才能把这21条记录全部导入HBase呢
第一个想法,把文件偏移值作为一条记录的row,这样每条记录的row就都不同了,这样可以,但是当文件偏大的时候,这样存储就会存在问题,而且row值之间相差很大,如果可以做到row是按照1递增的话,那么就可以减少很多数据了。
相关推荐
eternityzzy 2020-07-19
gengwx00 2020-04-29
ITwangnengjie 2020-04-18
WeiHHH 2020-09-23
憧憬 2020-08-21
ViMan0 2020-08-14
tomli 2020-07-26
飞鸿踏雪0 2020-07-09
zzjmay 2020-07-04
swazerz 2020-06-22
ViMan0 2020-06-21
sujins 2020-06-14
sujins 2020-06-14
Cloudeep 2020-06-14
ViMan0 2020-06-14
sujins 2020-06-13