我试图做sqoop工作增量导入使用自由形式查询。下面是正在使用的查询
sqoop job --create importjobinl -- import --connect jdbc:mysql://localhost/test --username training --password training --query 'select id,name,unix_timestamp(time_updated) from intest where $CONDITIONS' --target-dir /user/new/lll/`date +%d%T|sed 's/://g'` -m 1 --check-column time_updated --incremental append --last-value '1441526438'
工作没有被创造出来。
Incremental imports require a table.
Try --help for usage instructions.
当我使用 --table
intest代替 --query
,但我想用 --query
使用unix\u timestamp将日期转换为epochtime,因为mysql表intest中的值是yyyy-mm-dd格式
使用的版本:sqoop 1.2.0-cdh3u0
2条答案
按热度按时间iyfjxgzm1#
使用sqoop进行初始拉取。
如果使用上次修改的列作为日期,请确保列的日期格式为yyyy-mm-dd hh:mm:ss。
运行下面的语句,将增量加载到您的配置单元表中,其中包括free-from-query。
sqoop import --connect jdbc:mysql://localhost/test --username training --password training --query "select * from intest where $CONDITIONS" --hive-import --hive-table db_name_x.table_name_x --incremental lastmodified -check-column date_x --target-dir /user/xyz -m 1
iqjalb3h2#
自由形式查询的sqoop增量导入是从sqoop1.4.2jira链接添加的:自由形式查询的sqoop增量导入支持
由于您使用的是sqoop1.2.0,因此此功能可能无法使用