閱讀425 返回首頁    go 阿裏雲 go 技術社區[雲棲]


MaxCompute( 原ODPS)下的表分區解釋

大數據計算服務(MaxCompute,原名 ODPS,https://www.aliyun.com/product/odps)是一種快速、完全托管的 GB/TB/PB 級數據倉庫解決方案。MaxCompute 向用戶提供了完善的數據導入方案以及多種經典的分布式計算模型,能夠更快速的解決用戶海量數據計算問題,有效降低企業成本,並保障數據安全。


ODPS分區字段一般來說都是重複性非常強的字段,比如說時間,某一天可能會產生幾萬條數據,把這一天產生的數據就存入到一個分區中,而時間(某天)就是分區字段,時間(某天)所在的列就是分區列。也就是說,基於分區列的數據作為一個緯度,進行了數據塊的劃分存儲,加快查詢速度。每一個分區塊裏麵的數據是完整性的,而不是分區列裏的一列或者幾列數據。在ODPS中最多支持六級分區。也就是說partition by裏麵可以有六個字段可以設置為分區列,而且是有順序的。比如說有兩個分區列,sale_date和region , 那麼這個表可能存在多少個分區呢?可能無數個,分區分為幾級呢,兩級。第一級為銷售時間,第二級為區域。


Create table sale_detail(shop_name string, customer_id string , total_price decimal) partition by(sale_date string, region string);
Alter table sale_detail add partition (sale_date = ‘201703’, region=’hangzhou’);
其實可以理解更加簡單一些,就是有個叫sale_detail的文件夾,下麵存了一堆201703,201704...的文件夾,201703這個文件夾下麵又存了一堆hangzhou、beijing、qingdao...的文件夾,這些文件夾裏麵存的是一條一條的數據,隻不過數據都是基於時間和地域緯度的。想清楚了,就是一層窗戶紙的事情。

_

作者:徽州七哥

原文地址:https://yq.aliyun.com/articles/72337


有獎活動:

bba01b493e1c5d904e882b1c380673c6ebe49a98




 


最後更新:2017-07-05 12:02:30

  上一篇:go  PostgreSQL 10 GIN索引 鎖優化
  下一篇:go  2017程序員該為自己製定的12個小目標