0
我有一個Hive表中有20列,我想計算每小時獨特的記錄和所有記錄。配置單元計數和計數明顯不正確
表的樣子:
CREATE EXTERNAL TABLE test1(
log_date string,
advertiser_creatives_id string,
cookieID string,
)
STORED AS ORC
LOCATION "/day1orc"
tblproperties ("orc.compress"="ZLIB");
而且我的查詢是這樣的:
SELECT Hour(log_date),
Count(DISTINCT cookieid) AS UNIQUE,
Count(1) AS impressions
FROM test1
GROUP BY Hour(log_date);
但結果是不正確的。我有大約7000萬條參賽作品,當我做了一筆印象時,我只獲得了800萬的參賽作品,所以我懷疑這個差異會佔用太多的專欄。
那麼,我該如何解決這個問題,以便獲得正確的展示次數?
**的額外信息**
hive.vectorized.execution.enabled
是不確定的,所以它不是活躍。
文本格式的同一查詢返回更少的行(約合270萬美元)
結果COUNT(*)
的
:70643229結果COUNT(cookieID)
的
:70643229結果的
COUNT(DISTINCT cookieID)
:1440195
歡呼聲
Hive 0.11或Hive 0.12?是否有可能共享一個數據文件來解決問題? –
蜂巢0.12和數據不是我的分享,但它的總和不加起來。 7000萬條記錄,但是當我計算它時,我只得到800萬。 – darkownage
你可以爲查詢發佈EXPLAIN嗎?你沒有任何機會啓用向量化('set hive.vectorized.execution.enabled = true;'),是嗎? –