hive sql where條件很簡單,但是太多

2021-09-01 09:01:06 字數 806 閱讀 5224

insert overwrite table aaaa

partition(pt='20120717')

select auction_id,property_id,value_id

from ***x

where pt='20120717'

and

((property_id = 1626130 and value_id = 46276) or

(property_id = 33510 and value_id = 31533293) or

(property_id = 33510 and value_id = 119834) or

(property_id = 33510 and value_id = 119831) or

(property_id = 33448 and value_id = 118432) or

(property_id = 33448 and value_id = 21039) or

***x

)

and 裡面的or 條件有170多個

這個分割槽有80g的資料,120億條資料,單獨掃瞄只需要不到5分鐘,但是執行這個sql確需要1個多小時,主要原因是因為這個and條件hive在生成執行計畫時產生了乙個巢狀層次很多的運算元。

property_id 和 value_id 都是string 型別的字段

解決方案:

(1)property_id、value_id 的值對搞成乙個小表,然後通過一次mapjoin

(2)寫個udf,把這些預設值讀取進去,udf來完成這個and資料過濾操作

HTML基礎(適合入門,很詳細,很詳細,很詳細)

概念 是最基礎的網頁開發語言 標記語言 快速入門 title red hello world green hello world 標籤學習 檔案標籤 構成html最基本的標籤 文字標籤 和文字有關的標籤 p 段落標籤 br 換行標籤 hr 展示一條水平線 b 字型加粗 i 字型斜體 font 字型標...

理想很豐滿 現實很骨感

時光飛逝 枯燥無味的開場白 畢業後的日子 上班 賺錢,其實也就這點追求了 閒暇的時候,想著大學的日子,大學時候的習慣,現在看來我那時 似乎很偉大 那時我知道二十一天養成乙個好習慣,跟著公尺老師學習,其實那個時候 進步真是飛快,就算現在工作了,我也感謝那段時間帶給我的財富 閒暇的時候和父母聊天,會這樣...

CSDN SD 2 0,很牛很技術

大概是 門時期開始流行的吧!如果要形容乙個事情很特別,總是喜歡用很x很xx的這種模式。參加完今年sd 2.0大會之後哦,讓我也有想形容一下這種感覺的衝動,於是寫下了這個 很牛很技術 的說法。先說說參會。這次舉辦sd大會的日子正是寒流之中,因為無論是從天氣看還是從經濟環境來看,只要參加了這次大會的人都...