2014-11-05 79 views
0

我在HBase數據源上創建了一個Hive表,並從S3導入數據(CSV文件)到這個表中。這在AWS EMR上運行。Hive顯示的行數比HBase少

我已經用少數幾行驗證了這一點,它很好。

然而,當我輸入一個合理的數據集(10萬行),我得到在蜂房給我,什麼HBase的給我的計數差異。

如果我在HBase中進行計數,我會得到1000萬的結果。

如果我在蜂巢做一個數,我得到的9932183結果。

我寫了一個查詢,以蠻力比較源S3的數據導入的數據,但是這需要時間的巨量即使是中等大型集羣上執行。

在此期間,找機會和想法,以什麼可能會導致這種差異。

我應該注意到,我會把自己列爲這個部門的noob。

回答

1

可能缺少的行與配置單元表模式不一致。

+0

他們爲什麼會出現在HBase中?它們具有相同的模式,但是HBase更「寬容」,即它會愉快地接受不匹配格式的數據,但Hive會排除這些數據? – Duncan 2014-11-05 12:22:28

0

Vijay你是對的。

源數據有67,817行,其中一列是NULL。

此數據已成功插入HBASE。

然而蜂巢架構指出,這數據映射到BIGINT類型,所以蜂巢排除整行,因爲它沒有匹配的模式。