首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >仅当值不同时才更新HBase表

问仅当值不同时才更新HBase表
EN

Stack Overflow用户
提问于 2016-10-25 15:49:51
回答 1查看 772关注 0票数 1

我正在通过HBase通过Pig加载数据。pig脚本每天运行以查找各种蜂巢表中的更新记录,执行联接和处理,然后加载到HBase。我遇到的问题是,有时记录的一部分会被更新,而其他部分则不会更新。

示例:带有键abcd123的记录存在于hive表1和hive表2中。在hive表1中,有新的数据,但在hive表2中没有。我的猪脚本将两个表连接起来,然后将连接的记录加载到hbase中,更新hbase中的现有记录以获取密钥abcd123。

是否有一种方法可以让HBase检查当前用于密钥的hbase中的数据是否与猪脚本试图加载的数据不同,然后只接受不同值的写入?用未更改的数据束更新行是没有意义的,只是为了获得一个已更改的值。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-10-26 06:29:59

为了实现这一点,您需要开发自定义解决方案,您可以尝试:

方法1-您可以维护数据集的两个副本,第一个在hive/pig中,另一个在hbase中,保持两者始终保持同步。每当收到新的更改(表1或表2)时,连接表1和表2,然后将旧数据集与新创建的数据集进行比较,以找出需要更新的增量记录。更新增量更改为hbase。

方法2-将日期列附加到两个表(表1和表2),这将帮助您了解增量更改。连接两个表,并使用date列查找增量字符。(如果需要更多细节,请添加注释)。

对于增量更改的每条记录,使用行键查询hbase,然后在新值与hbase值之间进行比较,如果发生了更改,则更新hbase中的行键值。

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

https://stackoverflow.com/questions/40244397

复制
相关文章

相似问题

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