将作业提交到 dataproc sqoop 时出现问题
Posted
技术标签:
【中文标题】将作业提交到 dataproc sqoop 时出现问题【英文标题】:Issues while submitting job to dataproc sqoop 【发布时间】:2020-11-25 16:22:54 【问题描述】:我对 apache sqoop 很陌生。我在 GCP 中创建了 dataproc 集群并尝试使用以下命令提交 sqoop 作业:
gcloud dataproc jobs submit hadoop --cluster cluster123 --class=org.apache.sqoop.Sqoop --import -Dmapreduce.job.user.classpath.first=true --jars=gs://bucket123/sqoop-1.4.7-hadoop260.jar,gs://bucket123/mssql-jdbc-8.4.1.jre11.jar --connect="jdbc:sqlserver://server_ip:1433/db_name" --username=sql_user --password-file=gs://bucket123/password.txt --target-dir gs://bucket123/mssql-output-folder/ --table=table123
出现以下错误:
ERROR: (gcloud.dataproc.jobs.submit.hadoop) unrecognized arguments:
--import (did you mean '--format'?)
-Dmapreduce.job.user.classpath.first=true
--connect=jdbc:sqlserver://server_ip:1433/table123 (did you mean '--project'?)
--username=sqlserver (did you mean '--cluster'?)
--password-file=gs://bucket123/password.txt (did you mean '--flags-file'?)
--target-dir
gs://bucket123/mssql-output-folder/
--table=test1 (did you mean '--labels'?)
To search the help text of gcloud commands, run:
gcloud help -- SEARCH_TERMS
【问题讨论】:
【参考方案1】:在命令中添加作业参数之前,您需要输入'--'。
试试这个:
gcloud dataproc jobs submit hadoop \
--cluster cluster123 \
--class=org.apache.sqoop.Sqoop \
--jars=gs://bucket123/sqoop-1.4.7-hadoop260.jar,gs://bucket123/mssql-jdbc-8.4.1.jre11.jar \
-- \
--import -Dmapreduce.job.user.classpath.first=true --connect="jdbc:sqlserver://server_ip:1433/db_name" --username=sql_user --password-file=gs://bucket123/password.txt --target-dir gs://bucket123/mssql-output-folder/ --table=table123
【讨论】:
在我的命令中也 - 已经为每个参数给出了以上是关于将作业提交到 dataproc sqoop 时出现问题的主要内容,如果未能解决你的问题,请参考以下文章
向 dataproc 集群提交 pyspark 作业时出错(找不到作业)
将数据从 MySQL 加载到 HDFS 时出现 Sqoop 错误