本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
Amazon Athena TPC基準 DS (TPC-DS) 連接器
Amazon Athena TPC-DS 連接器可讓 Amazon Athena 與隨機產生的TPC基準 DS 資料來源進行通訊,以用於 Athena Federation 的基準和功能測試。Athena TPC-DS 連接器會以四種擴展因素之一產生 TPC-DS 相容資料庫。我們不建議使用此連接器作為 Amazon S3 資料湖效能測試的替代方案。
此連接器無法向 Glue Data Catalog 註冊為聯合型錄。此連接器不支援 Lake Formation 中在目錄、資料庫、資料表、資料欄、資料列和標籤層級定義的資料存取控制。此連接器使用 Glue Connections 來集中 Glue 中的組態屬性。
必要條件
使用 Athena 主控台或 AWS Serverless Application Repository,將連接器部署到您的 AWS 帳戶 。如需詳細資訊,請參閱 建立資料來源連線 或 使用 AWS Serverless Application Repository 部署資料來源連接器。
參數
使用本節中的參數來設定 TPC-DS 連接器。
注意
Athena 資料來源連接器於 2024 年 12 月 3 日及之後建立,使用 AWS Glue 連線。
下列參數名稱和定義適用於 2024 年 12 月 3 日之前建立的 Athena 資料來源連接器。這些可能與其對應的AWS Glue 連線屬性不同。自 2024 年 12 月 3 日起,只有在您手動部署舊版 Athena 資料來源連接器時,才能使用下列參數。
-
spill_bucket - 針對超過 Lambda 函數限制的資料,指定 Amazon S3 儲存貯體。
-
spill_prefix - (選用) 預設為指定的
spill_bucket
中名為athena-federation-spill
的子資料夾。我們建議您在此位置設定 Amazon S3 儲存生命週期,以刪除超過預定天數或小時數的溢出。 -
spill_put_request_headers – (選用) JSON 用於溢出的 Amazon S3
putObject
請求的請求標頭和值編碼映射 (例如{"x-amz-server-side-encryption" : "AES256"}
)。如需其他可能的標頭,請參閱《Amazon Simple Storage Service API參考PutObject》中的 。 -
kms_key_id – (選用) 根據預設,任何溢灑至 Amazon S3 的資料都會使用 AES-GCM 驗證的加密模式和隨機產生的金鑰進行加密。若要讓您的 Lambda 函數使用KMS類似 產生的更強加密金鑰
a7e63k4b-8loc-40db-a2a1-4d0en2cd8331
,您可以指定KMS金鑰 ID。 -
disable_spill_encryption - (選用) 當設定為
True
時,停用溢出加密。預設為 ,False
以便使用 AES- GCM來加密溢出到 S3 的資料,無論是使用隨機產生的金鑰,還是KMS產生金鑰。停用溢出加密可以提高效能,尤其是如果溢出位置使用伺服器端加密。
測試資料庫和資料表
Athena TPC-DS 連接器會以四種縮放係數 tpcds1
、tpcds10
、tpcds250
、 tpcds100
或 之一產生 TPC-DS 相容資料庫tpcds1000
。
資料表摘要
如需測試資料表和資料欄的完整清單,請執行 SHOW
TABLES
或者 DESCRIBE TABLE
查詢。為了方便起見,提供以下資料表摘要。
-
call_center
-
catalog_page
-
catalog_returns
-
catalog_sales
-
customer
-
customer_address
-
customer_demographics
-
date_dim
-
dbgen_version
-
household_demographics
-
income_band
-
庫存
-
item
-
promotion
-
reason
-
ship_mode
-
存放
-
store_returns
-
store_sales
-
time_dim
-
warehouse
-
web_page
-
web_returns
-
web_sales
-
web_site
如需與此產生的結構描述和資料相容的 TPC-DS 查詢,請參閱 上的 athena-tpcds/src/main/resources/queries/
查詢範例
下列 SELECT
查詢範例會查詢特定郡的客戶人口統計的 tpcds
目錄。
SELECT cd_gender, cd_marital_status, cd_education_status, count(*) cnt1, cd_purchase_estimate, count(*) cnt2, cd_credit_rating, count(*) cnt3, cd_dep_count, count(*) cnt4, cd_dep_employed_count, count(*) cnt5, cd_dep_college_count, count(*) cnt6 FROM "lambda:tpcds".tpcds1.customer c, "lambda:tpcds".tpcds1.customer_address ca, "lambda:tpcds".tpcds1.customer_demographics WHERE c.c_current_addr_sk = ca.ca_address_sk AND ca_county IN ('Rush County', 'Toole County', 'Jefferson County', 'Dona Ana County', 'La Porte County') AND cd_demo_sk = c.c_current_cdemo_sk AND exists(SELECT * FROM "lambda:tpcds".tpcds1.store_sales, "lambda:tpcds".tpcds1.date_dim WHERE c.c_customer_sk = ss_customer_sk AND ss_sold_date_sk = d_date_sk AND d_year = 2002 AND d_moy BETWEEN 1 AND 1 + 3) AND (exists(SELECT * FROM "lambda:tpcds".tpcds1.web_sales, "lambda:tpcds".tpcds1.date_dim WHERE c.c_customer_sk = ws_bill_customer_sk AND ws_sold_date_sk = d_date_sk AND d_year = 2002 AND d_moy BETWEEN 1 AND 1 + 3) OR exists(SELECT * FROM "lambda:tpcds".tpcds1.catalog_sales, "lambda:tpcds".tpcds1.date_dim WHERE c.c_customer_sk = cs_ship_customer_sk AND cs_sold_date_sk = d_date_sk AND d_year = 2002 AND d_moy BETWEEN 1 AND 1 + 3)) GROUP BY cd_gender, cd_marital_status, cd_education_status, cd_purchase_estimate, cd_credit_rating, cd_dep_count, cd_dep_employed_count, cd_dep_college_count ORDER BY cd_gender, cd_marital_status, cd_education_status, cd_purchase_estimate, cd_credit_rating, cd_dep_count, cd_dep_employed_count, cd_dep_college_count LIMIT 100
所需的許可
如需此連接器所需IAM政策的完整詳細資訊,請參閱 athena-tpcds.yamlPolicies
區段。以下清單摘要說明所需的許可。
-
Amazon S3 寫入存取 - 連接器需要 Amazon S3 中某個位置的寫入存取權,以便從大型查詢中溢寫結果。
-
Athena GetQueryExecution – 連接器會在上游 Athena 查詢終止時使用此許可來快速失敗。
效能
Athena TPC-DS 連接器會根據您選擇的縮放係數嘗試平行處理查詢。在 Lambda 函數內執行述詞下推。
授權資訊
Amazon Athena TPC-DS 連接器專案是根據 Apache-2.0 授權進行授權。
其他資源
如需此連接器的詳細資訊,請造訪對應的網站