Hadoop Sqoop导出到Teradata错误

Hadoop Sqoop导出到Teradata错误,hadoop,jdbc,teradata,sqoop,Hadoop,Jdbc,Teradata,Sqoop,我正在尝试使用Sqoop将数据导出到TERADATA。整个mapreduce.Job将完成,但数据未加载,并显示以下内容 15/07/08 01:27:36 INFO processor.TeradataOutputProcessor: input postprocessor com.teradata.connector.teradata.processor.TeradataBatchInsertProcessor starts at: 1436333256770 15/07/08 01:27

我正在尝试使用Sqoop将数据导出到TERADATA。整个mapreduce.Job将完成,但数据未加载,并显示以下内容

15/07/08 01:27:36 INFO processor.TeradataOutputProcessor: input postprocessor
com.teradata.connector.teradata.processor.TeradataBatchInsertProcessor starts at:  1436333256770
15/07/08 01:27:36 INFO processor.TeradataBatchInsertProcessor: insert from staget table to target table
15/07/08 01:27:36 INFO processor.TeradataBatchInsertProcessor: the insert select sql starts at: 1436333256969
怎么了

我使用以下脚本加载

sqoop export --connect jdbc:teradata://172.XX.XX.XX/Database=PRD_XXX_XXX \
--connection-manager org.apache.sqoop.teradata.TeradataConnManager \
--username GDW_XYV  \
--password 123 \
--export-dir /user/xxxx/xxx_xxx/2001/ \
--table PRD_XXX_XXX.TABLE_T_HD \
--input-fields-terminated-by '|' \
--input-escaped-by '\\' \
--input-enclosed-by '\"' \
--input-optionally-enclosed-by '\"' \
--mapreduce-job-name sq_exp_xxx_xxx_2001 \
--verbose \
-m 20
正如Max所说,它正在使用split.by.partition创建一个临时stage表。您可以在具有访问权限的另一个数据库中强制创建stage表,也可以使用split.by.value、split.by.hash或split.by.amp


注意:如果输入表未分区,Split.by.hash还会创建分区的临时表。但是,如果您的输入表已分区,则不会创建额外的阶段表。

在Sqoop导出期间,Teradata将通过与目标表相同的结构创建临时表,例如:让目标表名称为sales_edw,TD将创建临时表sales_edw_1029XXX。Sqoop将数据加载到temp。完成后,数据被复制回主表,临时表被删除。您是否设法解决了此问题?