【发布时间】:2018-01-25 13:22:08
【问题描述】:
下面是从 DB2 中列出数据库的 sqoop 命令::
sqoop list-databases --connect 'jdbc:db2://DB_IP:PORT/' --username xxx --password xxx --driver com.ibm.db2.jcc.DB2Driver
但我得到以下错误::
WARN sqoop.ConnFactory: Parameter --driver is set to an explicit driver however appropriate connection manager is not being set (via --connection-manager). Sqoop is going to fall back to org.apache.sqoop.manager.GenericJdbcManager. Please specify explicitly which connection manager should be used next time.
什么是 DB2 的 --connection-manager?
改变了 sqoop 语法
sqoop import -libjars <path to>/db2jcc4.jar --connect 'jdbc:db2://DB_IP:PORT/' --username xxx -password xxx -m 1 --table db2_DB_name.db2_tbl_name --hive-overwrite --hive-import --hive-database amitesh_db --hive-table amitesh_db2test --target-dir <path_to>/db2test --as-parquetfile
以下是我收到的错误::
ERROR manager.SqlManager: Error executing statement: com.ibm.db2.jcc.am.SqlSyntaxErrorException: [jcc][10165][10047][x.xx.xx] Invalid database URL syntax: jdbc:db2://<db_ip>:<port>/. ERRORCODE=-4461, SQLSTATE=42815
com.ibm.db2.jcc.am.SqlSyntaxErrorException: [jcc][10165][10047][4.17.28] Invalid database URL syntax: jdbc:db2://<db_ip>:<port>/. ERRORCODE=-4461, SQLSTATE=42815
【问题讨论】:
-
您尝试过
--connection-manager com.cloudera.sqoop.manager.Db2Manager和--driver com.ibm.db2.jcc.DB2Driver。您需要有最新的 db2jcc4.jar(来自您的操作系统的最新的)Db2-client)和可能的许可证文件,具体取决于目标 Db2-server 操作系统。