我编写了sqoop脚本,用于将数据从Teradata导入Hive。
`sqoop import \
--connect $JDBC_URL \
--driver com.teradata.jdbc.TeraDriver \
--username $Username \
--password $Password \
--table $TD_Table \
--hive-import \
--hive-overwrite \
--hive-drop-import-delims \
--hive-table $Hive_Database.$Hive_Staging_Table \
--split-by $Split_Col \
-m $Mapper_Number`
上面的脚本会发出警告
--connection-manager). Sqoop is going to fall back to org.apache.sqoop.manager.GenericJdbcManager.
但是当我使用 - connection-manager 上面的脚本时,我的 - hive-drop-import-delims 和 - hive-overwrite 停止工作
我试图了解连接管理器参数的重要性如果我省略它会如何影响我的导入
请建议
答案 0 :(得分:1)
您无需使用上面的--driver
。另外,请确保在/etc/sqoop/conf/managers.d
中设置了连接管理器。以下是使其正常运行的步骤:
cd /etc/sqoop/conf
mkdir managers.d && cd managers.d
echo '<manager factory class> = <manager factory jar>' > td_connector.txt
经理工厂jar应放在/var/lib/sqoop
中,其中一个可以从Cloudera下载。