-存储在sqoop元存储中的最后一个值

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

到目前为止,我一直在使用import命令导入数据,并一直在保存默认元存储中的最后一个值。
要指定的内容--最初在import命令中的last value,用于基于上次修改的值进行增量导入。我看到append模式是0,但在lastmodified模式下应该是什么?
我有一个需要从中增量导入数据的表,但该表的修改后的\u at字段存储在通过外键引用的另一个表中。现在,由于这里涉及多个表,我知道我将需要使用自由查询表单,但它究竟如何从metastore获取最后一个值?我当然不会硬编码自由查询中的最后一个值。
另外,如何从引用的表中提供修改后的\u at列?
在这种情况下,确切的语法应该是什么?

lpwwtiir

lpwwtiir1#

增量数据获取取决于主键,并且主键始终为增量格式。您可以使用import命令创建一个sqoop作业,并将--last value参数作为表的最后一个主键值的值

sqoop job --create Job_name -- import --connect "jdbc_url" --username "uid" -P --table "table_name" --check-column "primary-key column" --incremental append --last-value 0 --target-dir /hdfs_path

通过做

sqoop job --list

您可以看到创建的作业列表。你可以通过

sqoop job --exec jobname

如果有帮助,请告诉我!!!!

相关问题