解析导入 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 时出错
尝试导入 Cropperjs 给出:TypeError:解析模块说明符时出错:cropperjs