Impala讀取HBase外部表的一個坑

最近業務部門反應數據上報上來數據中有字段缺失。有個字段daily_amount在MQ里面是有值的,但是導入到impala后查到的確為NULL。先交代一下背景。數據平臺的數據流水線如下:


數據流水線

數據上報后首先寫入到MQ里,通過一個消費者將數據存入HBase中,每天通過Impala JDBC接口增量將數據以Parquet格式寫入HDFS中。

1.首先想到數據有沒有寫到HBase中,通過HBase Shell查看了一下數據是有的


HBase中的數據

2.然后想會不會是創建外部表時,HBase中的列名稱和Impala表的字段沒有對上?因為整個過程都是程序執行的,雖然這種可能性不大,但還是檢查了一下,將HBase列映射和Impala的字段依次列到文本文件中看相應的字段是否在同一行,順便看看有沒有拼寫錯誤。


3.沒有頭緒,抱著試一試的心態在Hive中查了一下同一條數據的同一個字段,發現數據竟然是有的。初步判斷是Impala對HBase外部表的一個兼容性問題。


Hive中的數據

總結:impala盡量只用作OLAP,在離線任務里面盡可能使用Hive。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容