sqoop配置单元导入不支持字母数字(加上“\”)

uoifb46i  于 2021-05-27  发布在  Hadoop
关注(0)|答案(1)|浏览(498)

我想通过使用sqoop作为Parquet文件将数据从oracle导入hive。我一直在尝试使用以下命令使用sqoop导入数据:

sqoop import --as-parquetfile --connect jdbc:oracle:thin:@10.222.14.11:1521/eservice --username MOJETL  --password-file file:///home/$(whoami)/MOJ_Analytic/moj_analytic/conf/.djoppassword --query 'SELECT * FROM CMST_OFFENSE_RECORD_FAMILY WHERE $CONDITIONS' --fields-terminated-by ',' --escaped-by ',' --hive-overwrite --hive-import --hive-database default --hive-table tmp3_cmst_offense_record_family --hive-partition-key load_dt --hive-partition-value '20200213' --split-by cmst_offense_record_family_ref --target-dir hdfs://nameservice1:8020/landing/tmp3_cmst_offense_record_family/load_dt=20200213

我得到以下错误:

ERROR sqoop.Sqoop: Got exception running Sqoop: org.kitesdk.data.ValidationException: Dataset name default.tmp3_cmst_offense_record_family is not alphanumeric (plus '_')
org.kitesdk.data.ValidationException: Dataset name default.tmp3_cmst_offense_record_family is not alphanumeric (plus '_')

我试着把

sqoop import --as-parquetfile --connect jdbc:oracle:thin:@10.222.14.11:1521/eservice --username MOJETL  --password-file file:///home/$(whoami)/MOJ_Analytic/moj_analytic/conf/.djoppassword --query 'SELECT * FROM CMST_OFFENSE_RECORD_FAMILY WHERE $CONDITIONS' --fields-terminated-by ',' --escaped-by ',' --split-by cmst_offense_record_family_ref --target-dir hdfs://nameservice1:8020/landing/tmp3_cmst_offense_record_family/load_dt=20200213

我还是犯了同样的错误。

ERROR sqoop.Sqoop: Got exception running Sqoop: org.kitesdk.data.ValidationException: Dataset name load_dt=20200213 is not alphanumeric (plus '_')
org.kitesdk.data.ValidationException: Dataset name load_dt=20200213 is not alphanumeric (plus '_')
2q5ifsrm

2q5ifsrm1#

请尝试重写此部分:
--配置单元表default.tmp3\u cmst\u record\u系列
用这个:
--配置单元表tmp3\u cmst\u record\u family
您已经用子句指定了数据库名称 --hive-database

相关问题