使用 cloudera hadoop UI 自动化 sqoop 增量
Posted
技术标签:
【中文标题】使用 cloudera hadoop UI 自动化 sqoop 增量【英文标题】:automate sqoop incremental using cloudera hadoop UI 【发布时间】:2017-11-18 09:48:44 【问题描述】:有没有办法使用时间戳以外的列值自动执行 sqoop 导入。我试图在我的表中使用一列(ID)。但它没有用。下面是示例代码,我正在使用 cloudera hadoop UI 进行自动化。问题是最后一个值不会自动更新。
import
--connect
jdbc:mysql://172.26.122.123:3306/books
--username
hadoop
--password
********
--incremental
append
--check-column
id
--last-value
0
--table
authors
--as-textfile
--fields-terminated-by
","
--null-string
\0
--null-non-string
\0
--target-dir
/user/thilina_08838/source/test
-m
1
下面是mysql表的结构 +-----------+-------------+------+-----+---------+ --------+ |领域 |类型 |空 |钥匙 |默认 |额外 | +-----------+-------------+------+-----+---------+ --------+ |编号 |整数(11) |是 | |空 | | |姓名 | varchar(20) |是 | |空 | | |电子邮件 | varchar(20) |是 | |空 | | |时间戳 |日期时间 |是 | |空 | | +-----------+-------------+------+-----+---------+ --------+
【问题讨论】:
【参考方案1】:您可以使用已保存的 sqoop 导入作业轻松地自动执行此操作。
sqoop job --create jobname --import --connect
jdbc:mysql://172.26.122.123:3306/books
--username
hadoop
--password
********
--incremental
append
--check-column
id
--last-value
0
--table
authors
--as-textfile
--fields-terminated-by
","
--null-string
\0
--null-non-string
\0
--target-dir
/user/thilina_08838/source/test
-m
1
您可以根据您的增量刷新频率放置一个 cron 作业或 ETL 工作流,并在其中调用 sqoop --exec jobname
。
请参阅以下内容以获取更多信息。
Sqoop saved job documentation
【讨论】:
我们如何在 Cloudera hadoop oozie UI 中做到这一点? 你用的是哪个cloudera版本?以上是关于使用 cloudera hadoop UI 自动化 sqoop 增量的主要内容,如果未能解决你的问题,请参考以下文章
Hadoop系列之:使用Cloudera部署,管理Hadoop集群