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

阿波羅的戰(zhàn)車(chē)
TA貢獻(xiàn)1862條經(jīng)驗(yàn) 獲得超6個(gè)贊
由于設(shè)置了此參數(shù),很可能您的查詢(xún)沒(méi)有在哪里使用統(tǒng)計(jì)信息:
set hive.compute.query.using.stats=true;
嘗試將其設(shè)置為false并再次執(zhí)行。
或者,您可以在表上計(jì)算統(tǒng)計(jì)信息。請(qǐng)參閱分析表語(yǔ)法
也可以在INSERT OVERWRITE期間自動(dòng)收集統(tǒng)計(jì)信息:
set hive.stats.autogather=true;
- 1 回答
- 0 關(guān)注
- 477 瀏覽
添加回答
舉報(bào)
0/150
提交
取消