sqoop导出的数据到sqlserver数据精度确实问题解决方案

业务场景:

1.使用spark建立数据pipeline,保存数据有float,业务需要4为小数,类型为float

问题描述:

hive表中数据类型为float

1.hive表中float类型数据在spark中计算中精度缺失;

2.通过sqoop导出数据到sqlserver,hive中显示4为小数或科学记数法,sqlserver中显示科学记数法或者15为小数(使用hive on Spark 显示时有相同问题)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

此处省略一万字。。。。。。

解决方案

1. 使用spark或hive处理完hive中处理完数据后,将保留小数后的数值转换为string类型(推荐),sqlserver中正常使用float类型

2. 使用hive处理完数据保存为decimal(m,n)类型

注意: 使用

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章