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

标签 hadoop hdfs sqoop

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

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

我们可以使用哪些技术来有效地处理行更新?我们宁愿避免每晚倾倒整张 table 。

最佳答案

这里有一些建议:

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

关于hadoop - 如何使 HDFS 上的平面文件与大型数据库表保持同步?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5512728/

相关文章:

file - 无法在具有自定义分隔符的配置单元中插入数据

hadoop - HDFS 是否提供异步写入?

hadoop - 如何杀死Hadoop fs -copyToLocal任务

java - 在 Java 中编写和追加大文件的最佳方法是什么

java - 无法在 SQOOP 中创建 JOB

jdbc - 找不到sqoop + cloudera manager jdbc驱动程序

hadoop - 区域服务器在哪里以及其他位置?

hadoop - 如何将 BIGSQL 表中的数据复制到 .txt

java - 使用 Java API 将数据上传到 HDFS

hadoop - Sqoop 运行到本地作业运行器模式