解析导入 sqoop 的参数时出错

Posted

技术标签:

【中文标题】解析导入 sqoop 的参数时出错【英文标题】:Getting an Error parsing arguments for import sqoop 【发布时间】:2019-09-16 12:48:00 【问题描述】:
sqoop import --connect "jdbc:sqlserver://PHCHBS-SD360117.eu.novartis.net:1533/NVS_DATAMART_IT" \
--username SYS_SIE \
--password SIEv \
--driver com.microsoft.sqlserver.jdbc.SQLServerDriver \
--query 'SELECT GEO_NAME,SALES_AREA_CODE,SALES_FORCE_CODE,WEIGHT,SALES_AREA_NAME,REP_ID,REP_NAME,REP_ASGMNT_DATE,DISTRICT_ID,DISTRICT_NAME,DM_ID,DM_NAME,DM_ASGMNT_DATE,REGION_ID, REGION_NAME,RM_ID,RM_NAME, RM_ASGMNT_DATE,EXTRACTION_DATE,CYCLE  FROM NVS_DATAMART_IT.dbo.it_territory_hierarchy_bsp WHERE $CONDITIONS' \
-m 4 \
--hive-import \
--hive-database ph_com_r_ita_sales_integrator \ 
--create-hive-table it_dim_territory_hierarchy_bsp \
--target-dir "hdfs://sdata/ph/com/r/ph_com_r_ita_sales_integrator/abc" 

执行上述命令时出现以下错误:-

警告: /opt/cloudera/parcels/CDH-5.11.2-1.cdh5.11.2.p0.4/bin/../lib/sqoop/../accumulo 不存在! Accumulo 导入将失败。请设置 $ACCUMULO_HOME 到 Accumulo 安装的根目录。

19/09/16 12:45:56 INFO sqoop.Sqoop:运行 Sqoop 版本: 1.4.6-cdh5.11.2 19/09/16 12:45:56 WARN tool.BaseSqoopTool:在命令行上设置密码是不安全的。考虑使用 -P 反而。 19/09/16 12:45:56 错误工具.BaseSqoopTool: 解析错误 导入参数:19/09/16 12:45:56 错误 tool.BaseSqoopTool: 无法识别的论点:

【问题讨论】:

【参考方案1】:

--hive-database ph_com_r_ita_sales_integrator 可能是问题所在。我在 Sqoop 文档中没有找到这个论点。

尝试使用:

sqoop import --connect jdbc:sqlserver://PHCHBS-SD360117.eu.novartis.net:1533/NVS_DATAMART_IT \ 
--username SYS_SIE \ 
--password SIEv \ 
--driver com.microsoft.sqlserver.jdbc.SQLServerDriver \ 
--query 'SELECT GEO_NAME,SALES_AREA_CODE,SALES_FORCE_CODE,WEIGHT,SALES_AREA_NAME,REP_ID,REP_NAME,REP_ASGMNT_DATE,DISTRICT_ID,DISTRICT_NAME,DM_ID,DM_NAME,DM_ASGMNT_DATE,REGION_ID, REGION_NAME,RM_ID,RM_NAME, RM_ASGMNT_DATE,EXTRACTION_DATE,CYCLE FROM NVS_DATAMART_IT.dbo.it_territory_hierarchy_bsp WHERE $CONDITIONS' \ 
-m 4 \ 
--hive-import --create-hive-table --hive-table ph_com_r_ita_sales_integrator.it_dim_territory_hierarchy_bsp \ 
--target-dir hdfs://sdata/ph/com/r/ph_com_r_ita_sales_integrator/abc

【讨论】:

【参考方案2】:

感谢斯科特的回复。 通过首先在 hive 中创建表然后通过 Sqoop 导入来解决问题。 我不确定为什么这个参数“--create-hive-table”不起作用。

【讨论】:

以上是关于解析导入 sqoop 的参数时出错的主要内容,如果未能解决你的问题,请参考以下文章

Sqoop 导入失败:请使用 --split-by 指定一个或使用 '-m 1' 执行顺序导入 即使在设置 mapper = 1 后也会出错

使用 sqoop 从 Oracle 获取数据到 hive 时出错

解析模块说明符时出错:从 API 进行动态导入时做出反应

尝试导入 Cropperjs 给出:TypeError:解析模块说明符时出错:cropperjs

尝试使用带有反斜杠作为转义字符的Google Bigquery CLI导入CSV时出错

解析参数化查询C#时出错[重复]