问题说明
我正在尝试使用teradata-connector-1.5.8.jar将数据从TD表传输到HDFS。
作业失败,出现以下错误Stacktrace。
19/10/15 04:12:33 INFO mapreduce.Job:任务ID:try_1565212221110_0988_m_000001_1,状态:FAILED 错误:com.teradata.connector.common.exception.ConnectorException:java.sql.SQLException:[Teradata JDBC驱动程序] [TeraJDBC 16.20.00.08] [错误1005] [SQLState HY000]收到意外的包裹种类:9 在com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:95) 在com.teradata.jdbc.jdbc_4.util.ErrorFactory.makeDriverJDBCException(ErrorFactory.java:70) 在com.teradata.jdbc.jdbc_4.statemachine.ReceiveRecordSubState.action(ReceiveRecordSubState.java:196)
命令:
export HADOOP_HOME=/usr/hdp/current/hadoop-client
export HIVE_HOME=/usr/hdp/current/hive-client
export HADOOP_CLASSPATH=$HIVE_HOME/conf:$HIVE_HOME/lib/hive-cli-1.2.1000.2.6.5.1153-2.jar:$HIVE_HOME/lib/hive-exec-1.2.1000.2.6.5.1153-2.jar:$HIVE_HOME/lib/hive-metastore-1.2.1000.2.6.5.1153-2.jar
export LIB_JARS=$HIVE_HOME/lib/hive-cli-1.2.1000.2.6.5.1153-2.jar,$HIVE_HOME/lib/hive-exec-1.2.1000.2.6.5.1153-2.jar,$HIVE_HOME/lib/hive-metastore-1.2.1000.2.6.5.1153-2.jar
hadoop jar teradata-connector-1.5.8.jar com.teradata.connector.common.tool.ConnectorImportTool -libjars $LIB_JARS -url jdbc:teradata://<TD_URL>/TMODE=ANSI,CHARSET=UTF8 -username user -password **** -jobtype hdfs -fileformat textfile -sourcetable db.tablea -targetpaths /tmp/target -separator '\u001F' -nummappers 128
表DDL
CREATE MULTISET TABLE db.tablea ,FALLBACK ,
NO BEFORE JOURNAL,
NO AFTER JOURNAL,
CHECKSUM = DEFAULT,
DEFAULT MERGEBLOCKRATIO
(
)
PRIMARY INDEX ( col1,col2 )
PARTITION BY RANGE_N(col1 BETWEEN '201001' AND '209912' EACH INTERVAL '1' MONTH );
集群详细信息: 15/10/19 04:10:59 INFO utils.TeradataUtils:输入数据库产品为Teradata
15/10/19 04:10:59 INFO utils.TeradataUtils:输入的数据库版本为16.20
15/10/19 04:10:59 INFO utils.TeradataUtils:jdbc驱动程序版本为16.20
19/10/15 04:10:59 INFO处理器。TeradataInputProcessor:Hadoop版本的Teradata连接器为:1.5.8
HDP 2.7
注意:
相同的命令适用于较小的表。但是对于较大的表,它会失败。 我还尝试减少列数。但是同样的问题。