Sqoop中连接管理器的意义

时间:2015-04-01 10:30:16

标签: hadoop hive teradata sqoop

我编写了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 停止工作

我试图了解连接管理器参数的重要性如果我省略它会如何影响我的导入

请建议

1 个答案:

答案 0 :(得分:1)

您无需使用上面的--driver。另外,请确保在/etc/sqoop/conf/managers.d中设置了连接管理器。以下是使其正常运行的步骤:

  1. cd /etc/sqoop/conf
  2. mkdir managers.d && cd managers.d
  3. echo '<manager factory class> = <manager factory jar>' > td_connector.txt
  4. 经理工厂jar应放在/var/lib/sqoop中,其中一个可以从Cloudera下载。