增量附加到文件

jw5wzhpr  于 2021-06-03  发布在  Sqoop
关注(0)|答案(1)|浏览(420)

我有一张table MySQL 我想使用导入数据 sqoop . 我导入数据并存储在 HDFS 作为一个 file . 现在我想在hdfs中对这个文件运行增量更新。
假设mysql表中有100行。hdfs中的文件包含前50行的数据。如何增量更新此文件。 I am talking about files not Hive tables .
我希望增量数据作为一个单独的文件,而不是合并文件。例如,第一个零件文件包含50条记录,然后我需要一个零件文件包含下50条记录。我的意思是我们能对文件进行增量更新吗?

cgvd09ve

cgvd09ve1#

在这种情况下,您不能更新hdfs文件。
但这是一个常见的用例。 sqoop-merge 工具可以解决这个问题。您需要执行sqoop增量导入,并将输出保存在不同的hdfs文件中。
根据文件,
合并工具允许您合并两个数据集,其中一个数据集中的条目应覆盖旧数据集的条目。例如,以上次修改模式运行的增量导入将在hdfs中生成多个数据集,其中每个数据集中依次出现较新的数据。合并工具将把两个数据集“展平”为一个,为每个主键获取最新的可用记录。
示例命令:

sqoop merge --new-data newer --onto older --target-dir merged \
--jar-file datatypes.jar --class-name Foo --merge-key id

相关问题