首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使HDFS上的平面文件与大型数据库表保持同步?

问如何使HDFS上的平面文件与大型数据库表保持同步?
EN

Stack Overflow用户
提问于 2011-04-01 19:28:57
回答 2查看 1.6K关注 0票数 2

让HDFS上的平面文件与可能有行更新的大型数据库表保持同步的最佳方法是什么?

像sqoop这样的工具似乎很有用,因为它们允许从表中增量地提取新行,但是我看不到处理行更新的简单方法。

我们可以使用什么技术来有效地处理行更新?夜间转储整个表是我们宁愿避免的事情。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-04-01 22:40:42

这里有几个建议:

  • 使用DBInputFormat将数据库作为作业的输入,而不是让您担心需要同步的中间文件。如果MySQL成为瓶颈,你可以使用一些分布式/NoSQL数据库。
  • 如果你仍然想使用平面文件,每天晚上你只能转储MySQL中更改过的行,以及一个时间戳。编写一个Hadoop作业,仅输出每个唯一行的最新版本。
票数 1
EN

Stack Overflow用户

发布于 2011-04-01 19:58:21

我更喜欢在mysql表中有一个updated_at字段,而不是每天晚上只获取更改后的数据。之后,我做了一个简单的map reduce来对旧状态应用更改(与之合并)。

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

https://stackoverflow.com/questions/5512728

复制
相关文章

相似问题

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