sqoop導入hive警告WARN TableDefWriter:Column height had to be cast to a less precise type in Hive

最近在進行用sqoop將業務表數據導入到hive,在導入的時候發現一直在報一個WARN,WARN TableDefWriter:Column height had to be cast to a less precise type in Hive. 具體日誌貼圖.報警圖
看到報警以後,查看了hive表的數據,發現數據並沒有丟失,又查看了hive表結構,發現很多字段的數據類型發生了改變.在進行表導入的時候,採用的是導入的時候直接生成表,並不是先建表,再進行導入的.
心裏大概有點明白,還是去網上查找一下,得到大概的結論.
Hive是基於JAVA實現的數據建表,在將mysql的數據導入到hive中的時候,如果沒有事先建表,設定好數據類型,在導入的過程中就會將數據類型轉換成Java的數據類型,比如直接將decimal的數據類型轉換成double.
雖然不影響主要計算,但是如果高精度的信息,可能會影像計算結果。

如果是要高精度的信息,還是要先建表,設定好數據類型,再導入數據,簡單分享一下.

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