以下是我创建的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 是如何更新的?每次运行作业时我怎样才能看到更新的值? ?
答案 0 :(得分:1)
根据sqoop docs:
如果从已保存的作业运行增量导入,则此值将保留在已保存的作业中。
sqoop job --exec someIncrementalJob
的后续运行将继续仅导入比先前导入的行更新的行。
查看最后一个值,
如果从命令行运行增量导入,则后续增量导入中应指定为
--last-value
的值将打印到屏幕上供您参考。
答案 1 :(得分:1)
或者,如果错过了日志。使用以下命令
sqoop job --show <jobname>
- 它将列出作业的所有属性
参阅
incremental.last.value - 这将包含执行的增量作业的最新值。
每次我们通过sqoop job --exec <jobname>