BigInt数据类型的Sqoop导入错误

凯来

从SQLServer到Hive导入表时,我面临以下异常

/tmp/sqoop-hduser/compile/a6db7754847c4d49c9164758fcc079d7/ReceivedData.java:513:      error: incompatible types
this.IDReceivedData = Long.valueOf(__dataIn.readLong());
required: Long
found:    Double                                     
/tmp/sqoop-hduser/compile/a6db7754847c4d49c9164758fcc079d7/ReceivedData.java:1007:    error:   incompatible types
  this.IDReceivedData = Long.valueOf(__cur_str);
                                    ^
required: Long
found:    Double
Note: /tmp/sqoop-hduser/compile/a6db7754847c4d49c9164758fcc079d7/ReceivedData.java uses  or overrides a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
2 errors

这是用于导入表的命令

数据库中特定列(IDReceivedData)的数据类型为BigInt。这可能是什么问题?我是否需要更改数据库中列的数据类型?或使用sqoop import命令进行任何其他更改。

sqoop import --connect "jdbc:sqlserver://<ip>:1433;database=temp;user=sa;password=pass" --table ReceivedData --hive-table temp.ReceivedData

任何帮助,将不胜感激。

谢谢凯莱

脆弱

Sqoop当前不支持BigInteger,要解决此问题,您可以将特定的列映射为字符串

--map-column-java IDReceivedData=String

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章