【问题标题】:How can i see the incremental updated value in sqoop job?如何查看 sqoop 作业中的增量更新值?
【发布时间】:2016-12-04 22:01:57
【问题描述】:

下面是我创建的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作业2次,以便增量执行附加到HDFS中的现有数据。

问题是每次我使用sqoop job --exec sqoop_incremental_job 运行作业时,last-value 是如何更新的,以及每次运行作业时如何查看更新的值???

【问题讨论】:

    标签: mysql hadoop hdfs sqoop


    【解决方案1】:

    根据 sqoop docs:

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

    为了查看最后一个值,

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

    【讨论】:

    • 它将打印在屏幕上以供参考。或者,我们也可以使用 sqoop job --show 查看该值。它将列出作业incremental.last.value的属性-每次运行增量作业时都会更新。
    【解决方案2】:

    如果日志丢失,也可以选择。使用下面的命令

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

    参考

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

    每次通过sqoop job --exec <jobname>运行作业时都会更新

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-05-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多