2016-07-22 129 views
0

您好我通过sqoop连接器从mysql加载数据到hdfs。现在,如果现有数据之间的行更新得到更新,是否有任何查询更新sqoop中现有行的数据值。我知道增量更新吗?在增量更新中是否也会更新现有的行?我是新来的sqoop?在sqoop中增量更新

回答

0

是的,但在执行增量导入时应使用lastmodified模式。根据documentation

的备用表更新通过Sqoop支持策略称为 上次更改时间模式。当源表 的行可能会更新时,您应该使用此更新,并且每个此类更新都会将上次修改列的值设置为当前时间戳。检查 列保存的时间戳超过 --last-value指定的时间戳时导入的行。

在增量导入结束时,应为 为后续导入指定为--last-value的值将打印到 屏幕。在运行后续导入时,应该以这种方式指定 --last-value,以确保只导入新数据或更新数据。这是通过创建增量导入 作为保存的作业自动处理的,这是执行 周期性增量导入的首选机制。有关更多信息,请参阅 此文档后面有关已保存作业的部分。

记住,这种模式需要保持一个日期值(如datetimedatetimetimestamp)的柱。

This answer显示使用merge-key替代现有值的导入策略。