$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。我应该如何对多个数据库使用相同的方法? 我尝试搜索相同的内容,但是却没有得到任何适当的资源。有人可以帮我吗?
答案 0 :(得分:0)
我通过编写带有多个sqoop语句的shell脚本来完成此任务。每个作业一个sqoop语句。您可以让Shell脚本中的每个语句引用它自己的选项文件。
答案 1 :(得分:0)
您可以通过参数化每个字段(例如,
进口
-连接
jdbc:mysql:// localhost / hadoopdb
- 用户名
hadoop
-密码
abc
-连接 $(连接字符串) - 用户名 $(用户名) -密码文件 (密码文件路径) - 表 $(表名)
然后在job.properties文件中分配每个变量的值,然后通过Oozie命令运行它: oozie job -oozie http://XXXX.XX.iroot.adidom.com:XXXX/oozie -config job.properties -run 您也可以通过coordinator.xml安排它
谢谢