将数据从Hbase同步到Hive

时间:2019-07-10 12:44:19

标签: hadoop hive hbase

我们正在一个项目中,我们将HBase用作运营数据存储;所有数据都实时传输到hbase。而且,每隔2小时,Hbase中的数据需要同步到Hive。这是为了使分析查询能够在最新数据之上运行。

要将数据从Hbase同步到Hive:

仅用于插入/更新方案,我可以使用hbase提供的timestamp列来了解插入/更新的记录。 对于“删除”方案,我正在努力寻找正确的方法。

HBase Scan API是否提供任何选项来实现?

还是我应该使用像Apache Phoenix这样的SQL选项呢?

1 个答案:

答案 0 :(得分:1)

以下是《 HBase参考指南》第Keep Deleted Cells节的答案:

  

新的“原始”扫描选项将返回所有已删除的行,并删除   标记...

  。 。 。[示例]

     

hbase(main):017:0>扫描'test',{ RAW => true ,VERSIONS => 1000}

     

ROW COLUMN + CELL
  r1列= e:c1,时间戳= 14,值=值
  r1列= e:c1,时间戳= 12,值=值
  r1 column = e:c1,timestamp = 11, type = DeleteColumn
  r1 column = e:c1,时间戳= 10,值=值

     

0.0120秒内有1行

     

。 。

请注意,标记的类型可能不同- DeleteColumn DeleteFamily –取决于发生了哪种DELETE。