无法使用双值sqoop将数据导出到teradata。我得到numberformatexception即使我已经将teradata的数据类型更改为string,我也得到numberformatexception。我认为将字符串转换为浮点或整数会导致numberformatexception。如果我错了,请纠正我。
我还在sqoop export中包含了map column java选项,以明确地提到要导出的列的数据类型。
我有一个带有“|”分隔符的csv文件,示例数据如下所示。
65.0|50.0|65.0|118.77
101.0|96.0|101.0|210.08
37.0|29.0|37.0|34.78
66.0|61.0|66.0|153.78
我的teradata表如下所示。
CREATE SET TABLE DB_NAME.TABLENAME(
col1 varchar(20),
col2 varchar(20),
col3 varchar(20),
col4 varchar(20)
)
我也尝试过将数据类型设置为decimal(10,5),并将Map列java设置为所有列的“double”,但仍然得到相同的错误。
来自op评论:
sqoop export --libjars /opt/cloudera/parcels/SQOOP_TERADATA_CONNECTOR/sqoop-connector-teradata-1.7c6.jar,/opt/cloudera/parcels/SQOOP_TERADATA_CONNECTOR/lib/terajdbc4.jar \
--connect "jdbc:teradata://host_name/Database=database_name,CHARSET=UTF8" \
--table table_name \
--username username \
--password password \
--export-dir /path/to/directory \
--map-column-java col1=Double,col2=Double,col3=Double,col4=Double \
--input-fields-terminated-by '|' \
--input-lines-terminated-by '\n' \
--input-null-string '' \
--input-null-non-string ''
暂无答案!
目前还没有任何答案,快来回答吧!