精度丟失問題
異常信息
WARN hive.TableDefWriter: Column your_column had to be cast to a less precise type in Hive
1
描述:使用Sqoop,從MySQL往Hive中import數據的時候出現該異常。MySQL表中,對應的列的類型爲decimal(10,2)。Sqoop會把它轉爲Hive的double類型,導致精度丟失。
解決方案:在Sqoop執行語句中,添加下面的參數:
--map-column-hive your_column='DECIMAL(10%2C2)'
1
解釋:
Jira 官方解釋
官方的解釋,還不完全正確,還需要在 DECIMAL(10%2C2) 前後,加上單引號 ’ ‘,否則還是會提示語句有誤。