从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] 删除。
我来说两句