MaxCompute通過TPC-DS官方工具產生了10GB、100GB、1TB、10TB四個規格的TPC-DS資料,此資料方便您在做產品測試時使用。本文為您介紹MaxCompute公開資料集中TPC-DS資料的基本資料,以及如何通過MaxCompute執行TPC-DS資料查詢。
簡介
TPC BenchmarkTM DS (TPC-DS)是全球最知名的資料管理系統評測基準標準化組織TPC(事務性管理委員會)制定的標準規範,並由TPC管理測試結果的發布。
MaxCompute通過TPC-DS官方工具產生了10GB、100GB、1TB、10TB四個規格的TPC-DS資料,儲存在MaxCompute公開專案BIGDATA_PUBLIC_DATASET中不同的Schema下(Schema詳細資料請參見Schema操作)。只要您已開通MaxCompute服務並建立專案,就可以通過跨專案訪問的方式查詢TPC-DS資料表,資料表資訊如下所示。
資料規格 | 專案名稱 | Schema名稱 | 表名稱 |
10 GB | BIGDATA_PUBLIC_DATASET | TPCDS_10G | call_center catalog_page catalog_returns catalog_sales customer customer_address customer_demographics date_dim household_demographics income_band inventory item promotion reason ship_mode store store_returns store_sales tab_reducenum tab_reducenum_100 time_dim warehouse web_page web_returns web_sales web_site |
100 GB | BIGDATA_PUBLIC_DATASET | TPCDS_100G | |
1 TB | BIGDATA_PUBLIC_DATASET | TPCDS_1T | |
10 TB | BIGDATA_PUBLIC_DATASET | TPCDS_10T |
表資料引用自TPC,更多資訊請參見TPC。
詳細的表結構與內容介紹請參見TPC Benchmark™ DS (TPC-DS)。
聲明
MaxCompute公開資料集中的TPC-DS的資料產生與分析基於TPC-DS的基準測試,並不能與發行的TPC-DS基準測試結果相比較,因為通過MaxCompute公開資料集進行的測試並不符合TPC-DS基準測試的所有要求。
MaxCompute提供的TPC-DS只能用於產品測試,資料將不做周期更新,因此請您勿用於正式生產。
MaxCompute提供的TPC-DS資料來源於TPC,您也可以選擇自行產生TPC-DS資料,產生TPC-DS測試資料詳情請參見TPC-DS官方文檔。
可用地區
地區 | 地區ID |
華東1(杭州) | cn-hangzhou |
華東2(上海) | cn-shanghai |
華北2(北京) | cn-beijing |
華北3(張家口) | cn-zhangjiakou |
華北6(烏蘭察布) | cn-wulanchabu |
華南1(深圳) | cn-shenzhen |
西南1(成都) | cn-chengdu |
中國香港 | cn-hongkong |
新加坡 | ap-southeast-1 |
日本(東京) | ap-northeast-1 |
馬來西亞(吉隆坡) | ap-southeast-3 |
印尼(雅加達) | ap-southeast-5 |
美國(矽谷) | us-west-1 |
美國(維吉尼亞) | us-east-1 |
英國(倫敦) | eu-west-1 |
德國(法蘭克福) | eu-central-1 |
阿聯酋(杜拜) | me-east-1 |
華東2金融雲 | cn-shanghai-finance-1 |
華北2金融雲(邀測) | cn-beijing-finance-1 |
華南1金融雲 | cn-shenzhen-finance-1 |
華北2阿里政務雲1 | cn-north-2-gov-1 |
注意事項
公開資料集對所有的MaxCompute使用者開放。在使用過程中,您需要注意:
公開資料集的資料均儲存在BIGDATA_PUBLIC_DATASET專案中,但所有使用者並未被加入到該專案中,即非專案空間成員。因此需要跨專案訪問資料,在編寫SQL指令碼時,必須在表名前指定專案名稱及Schema名稱。同時,未開啟租戶級Schema文法開關的使用者需要開啟Session級Schema文法,才能保證命令正常運行,命令樣本如下:
--開啟Session級Schema文法 set odps.namespace.schema=true; --本範例檔案中提供的query為tpcds_10g,若您希望運行其他規格的資料集,請手動替換為其他規格對應的Schema名稱。 select * from bigdata_public_dataset.tpcds_10g.store_sales limit 100;
說明您無需為公開資料集的資料支付儲存費用,但是您需要支付執行查詢語句產生的相應計算費用。費用計算規則請參見計算費用。
由於公開資料集需要跨專案訪問,您在DataWorks的資料地圖中無法尋找到公開資料集中的表。
由於TPC-DS資料集存放於支援按Schema儲存的專案下,未開啟租戶層級Schema文法的使用者無法在DataWorks資料分析提供的公開資料集中直接查看,但您依舊可以通過我們提供的SQL語句進行查詢。
由於是跨專案訪問資料,為了保證SQL運行效果,您需要設定以下Flag。
-- tpcds table schema使用的decimal int等類型,需要開啟以下flag才能運行 set odps.sql.hive.compatible=true; set odps.sql.type.system.odps2=true; set odps.sql.decimal.odps2=true; -- 以下3個flag,建立專案的Flag值和下面列舉相同,存量專案的Flag值可能會不同(存量專案擔心對已有Query造成影響,Flag值會保持不變)。 -- 建議使用setproject修改成系統預設值,如果不設定可能會導致order by不包含limit的語句報錯,還可能會導致q72 Query join order不夠好已耗用時間特別長: set odps.sql.validate.orderby.limit=false; set odps.optimizer.join.reorder.enable=true; set odps.optimizer.column.stat.enable=true; -- tpcds對於q77會使用笛卡爾積,MaxCompute笛卡爾積對於sort-merge join預設不支援,如需使用請設定如下session層級的Flag。 set odps.sql.allow.cartesian=true;
執行TPC-DS Query
前提條件
已開通MaxCompute並已建立專案,詳情請參見建立MaxCompute專案。
支援的工具或平台
Query範例檔案
MaxCompute提供了針對不同資料規格的Query範例檔案,每個檔案內包含99個查詢,這些查詢的複雜性和掃描資料範圍差異很大,請謹慎選取執行,避免產生大量計算費用。您也可以使用TPC-DS基準套件中的工具產生這些查詢的不同版本,不同版本因參數值而異,詳情請參見TPC-DS官方文檔。
資料規格 | Query檔案 |
10 GB | |
100 GB | |
1 TB | |
10 TB |
本文提供的Query範例檔案內容來源於TPC-DS的基準測試,通過上述檔案查詢所得結果並不能與發行的TPC-DS基準測試結果相比較,因為通過MaxCompute公開資料集進行的測試並不符合TPC-DS基準測試的所有要求。更多資訊請參見TPC。