[英]How does Hive partition works
讓我們假設下表:
作為模式: ID,NAME,Country
,我的partition key is country
。
如果我的查詢是這樣的:
select * from table where id between 155555756 to 10000000000;
在這種情況下,該分區將無法工作,對嗎? 。
簡單的說。如果我在查詢中不使用分區鍵怎么辦。 這樣就可以進行表全掃描了吧?
您的第一個問題的答案是 ,該查詢計划將不會進行分區修剪。
您可以使用以下語句檢查查詢是否對分區進行了修剪: explain dependency <your query>
回答第二個問題-視情況而定!
如果hive.mapred.mode
設置為strict
,則hive將不允許進行全表掃描,並且很少進行其他“風險”操作,例如交叉聯接等,
根據您使用的配置單元的版本,這些設置還會影響單個查詢可以掃描的分區數
hive.metastore.limit.partition.request
(或) hive.limit.query.max.table.partition
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.