NO IMAGE

精度丟失問題

  • 異常資訊

    WARN hive.TableDefWriter: Column your_column had to be cast to a less precise type in Hive
  • 描述:使用Sqoop,從MySQL往Hive中import資料的時候出現該異常。MySQL表中,對應的列的型別為decimal(10,2)。Sqoop會把它轉為Hive的double型別,導致精度丟失。

  • 解決方案:在Sqoop執行語句中,新增下面的引數:

    --map-column-hive your_column='DECIMAL(10%2C2)'
  • 解釋:

    • Jira 官方解釋

    • 官方的解釋,還不完全正確,還需要在 DECIMAL(10%2C2) 前後,加上單引號 ’ ‘,否則還是會提示語句有誤。