如何在hdfs中用sqoop从不同的数据库导入数据

ybzsozfc  于 2021-06-03  发布在  Sqoop
关注(0)|答案(2)|浏览(345)
$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。对于多个数据库,我应该如何处理相同的问题?我试着寻找同样的资源,但没有找到合适的资源。有人能帮我吗?

t5fffqht

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计划它
谢谢,

qacovj5a

qacovj5a2#

我通过编写一个包含多个sqoop语句的shell脚本来实现这一点。每个作业一个sqoop语句。您可以让shell脚本中的每条语句引用它自己的选项文件。

相关问题