与 Hadoop 同步数据库提取

Sync database extraction with Hadoop

假设您有从数据库中提取数据并将该数据加载到 Hadoop 中的周期性任务。

Apache Sqoop/Nifi 如何保持源数据库(SQL 或否SQL)与目标存储(Hadoop HDFS 或 HBASE,甚至 S3)之间的数据库同步?

例如,假设在时间 A 数据库有 500 条记录,在时间 B 有 600 条记录,其中一些旧记录已更新,它是否有一种机制可以有效地了解时间 A 和时间之间的差异B 仅更新已更改的行并添加缺失的行?

是的,NiFi 有 QueryDatabaseTable 处理器,它可以存储状态并增量获取已更新的记录。

在您的table中,如果您有一些日期列可以在您的记录更新时更新,那么您可以在最大值列 属性 中使用 相同日期列 ,然后处理器将仅提取从 上一个状态值 所做的更改。

这是一篇关于查询数据库table 处理器的精彩文章 https://community.hortonworks.com/articles/51902/incremental-fetch-in-nifi-with-querydatabasetable.html