我使用sqoop将oracle表导入hdfs。
我有大约50个表要导入,在50个表中有10-15个表太大(大约50gb)。
这是我第一次希望将它们作为一个完整的负载导入,之后我将只导入增量数据。
目前我已经准备了两个shell脚本作为follows:- 1. 完全转储脚本(每天需要完全转储)2。用于增量数据的脚本(因为我已经完全转储了,现在它将只获取增量数据)。
我把这两个剧本安排在一个特定的时间,比如早上7点。
两个脚本都运行得很好,但正如您所看到的,它只会并行执行两个sqoop作业。
但是我想一次启动4个sqoop作业来获得更多的并行性。
那么我如何通过并行执行两个以上的sqoop作业来实现更多的并行性呢。
任何有关这方面的帮助都将不胜感激。
这是我的贝壳样本scripts:-
sqoop job --exec sqoop_job1
sqoop job --exec sqoop_job2
1条答案
按热度按时间0h4hbjxa1#
apacheoozie是一个编排工具,它可以帮助您根据需要顺序或并行地运行作业。如果您安装了apacheoozie,您可以尝试一下。它有一个针对sqoop的操作,您不需要通过shell脚本。oozie具有工作流或编排工具的所有特性,如重新运行或如果满负荷无法停止一切等
定义如何运行多个作业的示例workflow.xml