$cat > import.txt
import
--connect
jdbc:mysql://localhost/hadoopdb
--username
hadoop
-password
abc
在txt文件中,我将jdbc url、用户名和密码保存在一个文本文件中,当我调用sqoop命令时,我按如下方式调用它:
sqoop --options-file /user/cloudera/import.txt --table employee
但我想从多个数据库导入hdfs。对于多个数据库,我应该如何处理相同的问题?我试着寻找同样的资源,但没有找到合适的资源。有人能帮我吗?
2条答案
按热度按时间t5fffqht1#
您可以通过参数化每个字段(例如import--connect)为sqoop操作创建workflow.xmljdbc:mysql://localhost/hadoopdb
--用户名hadoop
-密码
公司
--connect$(连接\u字符串)--用户名$(用户名)--密码文件(密码\u文件\u路径)--表$(表\u名称)
为job.properties文件中的每个变量赋值,并通过oozie命令运行它:oozie job-ooziehttp://x.xx.iroot.adidom.com:x/oozie-config job.properties-run您还可以通过coordinator.xml计划它
谢谢,
qacovj5a2#
我通过编写一个包含多个sqoop语句的shell脚本来实现这一点。每个作业一个sqoop语句。您可以让shell脚本中的每条语句引用它自己的选项文件。