我有一个sqoop工作,需要将数据从oracle导入hdfs。
我使用的sqoop查询是 sqoop import --connect jdbc:oracle:thin:@hostname:port/service --username sqoop --password sqoop --query "SELECT * FROM ORDERS WHERE orderdate = To_date('10/08/2013', 'mm/dd/yyyy') AND partitionid = '1' AND rownum < 10001 AND \$CONDITIONS" --target-dir /test1 --fields-terminated-by '\t'
我一次又一次地重新运行同一个查询,分区ID从1变为96。所以我应该手动执行sqoop import命令96次。“orders”表包含数百万行,每行的partitionid从1到96。我需要从每个分区id中导入10001行到hdfs中。
有什么办法吗?如何自动化sqoop作业?
2条答案
按热度按时间az31mfrm1#
使用
crontab
用于调度目的。crontab文档可以在这里找到,也可以使用man crontab
在终点站。在shell脚本中添加sqoop import命令,并使用crontab执行这个shell脚本。
eqzww0vc2#
运行脚本:$./script.sh 20//----第20个条目
对于所有1到96个-单发