如何在sqoop作业中看到增量更新值?

时间:2016-12-01 14:05:54

标签: mysql hadoop hdfs sqoop

以下是我创建的sqoop作业

sqoop job --create sqoop_incremental_job -- import --connect jdbc:mysql://quickstart.cloudera:3306/retail_db --username retail_dba --password cloudera --table categories --target-dir /user/cloudera/sqoop_incremental_job_categories --incremental append --check-column category_id --last-value 10 -m 1

例如:最后一个值为10

现在我通过每次在mysql中添加新记录来运行sqoop job 2次,这样增量就可以附加到HDFS中的现有数据。

问题是每当我使用sqoop job --exec sqoop_incremental_job运行作业时, last-value 是如何更新的?每次运行作业时我怎样才能看到更新的值? ?

2 个答案:

答案 0 :(得分:1)

根据sqoop docs

  

如果从已保存的作业运行增量导入,则此值将保留在已保存的作业中。 sqoop job --exec someIncrementalJob的后续运行将继续仅导入比先前导入的行更新的行。

查看最后一个值,

  

如果从命令行运行增量导入,则后续增量导入中应指定为--last-value的值将打印到屏幕上供您参考。

答案 1 :(得分:1)

或者,如果错过了日志。使用以下命令

sqoop job --show <jobname> - 它将列出作业的所有属性

参阅

  

incremental.last.value - 这将包含执行的增量作业的最新值。

每次我们通过sqoop job --exec <jobname>

运行工作时都会更新