sqoop 脚本错误“...不是有效的 DFS 文件名”

sqoop script error "... is not a valid DFS filename"

*运行 在 Linux 环境中通过来自 windows.

的 putty

我有一个 sqoop 脚本,试图将一个 table 从 oracle 复制到 hive。我收到关于我的目标路径的错误.../hdfs://myserver/apps/hive/warehouse/new_schema/new_table is not a valid DFS filename

任何人都可以告诉我我的目标路径是否正确吗?我不是要设置文件,我只是想将 table 从 oracle 复制到配置单元并将其放入配置单元中已经存在的方案中。下面是我的脚本。

#!/bin/bash

sqoop import \
-Dmapred.map.child.java.opts='-Doracle.net.tns_admin=. -    Doracle.net.wallet_location=.' \
-files  $WALLET_LOCATION/cwallet.sso,$WALLET_LOCATION/ewallet.p12,$TNS_ADMIN/sqlnet.ora,$TNS_ADMIN/tnsnames.ora \
--connect jdbc:oracle:thin:/@MY_ORACLE_DATABASE \
--table orignal_schema.orignal_table \
--hive-drop-import-delims \
--hive-import \
--hive-table new_schema.new_table \
--num-mappers 1 \
--hive-overwrite \
--mapreduce-job-name my_sqoop_job \
--delete-target-dir \
--target-dir /hdfs://myserver/apps/hive/warehouse/new_schema.db \
--create-hive-table  

我认为导致该错误的原因是您的 HDFS 路径前的“/”。正确的路径应该是:

--target-dir hdfs://myserver/apps/hive/warehouse/new_schema.db

此外,请始终确保主机名正确,以避免出现更多错误。