我目前正在使用Hive進行一些數據探索,無法解釋以下行為。說我有一個帶有字段master_id的表(名為mytable)。當我計算行數時,我得到select count(*) as c from mytable c1129563如果我要計算具有非null master_id的行數,則會得到一個更高的數字select count(*) as c from mytable where master_id is not nullc1134041此外,master_id似乎永遠不會為空。select count(*) as c from mytable where master_id is nullc0我無法解釋添加where語句最終如何增加行數。有人有任何暗示來解釋這種行為嗎?謝謝
1 回答

阿波羅的戰車
TA貢獻1862條經驗 獲得超6個贊
由于設置了此參數,很可能您的查詢沒有在哪里使用統計信息:
set hive.compute.query.using.stats=true;
嘗試將其設置為false并再次執行。
或者,您可以在表上計算統計信息。請參閱分析表語法
也可以在INSERT OVERWRITE期間自動收集統計信息:
set hive.stats.autogather=true;
- 1 回答
- 0 關注
- 471 瀏覽
添加回答
舉報
0/150
提交
取消