我努力调试/理解为什么我的sqoop命令从Netezza数据库失败。sqoop从netezza失败 - “java.lang.ArrayIndexOutOfBoundsException”
我对许多其他表使用基本相同的sqoop命令没有问题。尤其是这个源表没有任何出普通的数据类型,所有的数据类型为nvarchar,NCHAR,整数,时间戳等
这里是指定sqoop命令:
sqoop import \
--connect jdbc:netezza://netezza-host-name:5480/nzdatabase \
--username user \
--password secret \
--table source_table_name \
--as-sequencefile \
--hive-drop-import-delims \
--num-mappers 1
我试过很多东西如进口直文本文件,如Avro的文件,而hive-drop-import-delimiters
等
16/03/25 18:27:48 INFO mapreduce.Job: Job job_1458490578260_0050 running in uber mode : false
16/03/25 18:27:48 INFO mapreduce.Job: map 0% reduce 0%
16/03/25 18:28:52 INFO mapreduce.Job: Task Id : attempt_1458490578260_0050_m_000000_0, Status :
FAILED
Error: java.lang.ArrayIndexOutOfBoundsException
at org.netezza.sql.NzConnection.receiveDbosTuple(NzConnection.java:739)
at org.netezza.internal.QueryExecutor.update(QueryExecutor.java:340)
at org.netezza.sql.NzConnection.updateResultSet(NzConnection.java:2704)
at org.netezza.sql.NzResultSet.next(NzResultSet.java:1924)
at org.apache.sqoop.mapreduce.db.DBRecordReader.nextKeyValue(DBRecordReader.java:237)
at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:5
我在Sqoop version: 1.4.6.2.3.2.0-2950
。