來自 AWS 雅典娜
我正在嘗試連接多個表,然后使用磁區鍵保存它。
跑完之后
select *
from t1
union all
select *
from t2
select *
from t3
在控制臺上創建表創建這樣的查詢,
create table db.table_name
with(
format='parquet',
external_location=...
) AS
select *
from t1
union all
select *
from t2
select *
from t3;
但我想按列添加磁區。我試過了
在頂部和底部添加磁區。還保存了查詢結果,然后使用CREATE EXTERNAL TABLE命令創建了新表(這有效但回傳空行->即使在運行后MSCK REPAIR)
來自https://aws.amazon.com/premiumsupport/knowledge-center/athena-create-use-partitioned-tables/看來我需要按磁區將資料保存到 S3 中,所以在 bucket1 中它將有 bucket1/2021,bucket1 /2022 如果 'year' 列是磁區列。正確的?如果是,創建磁區存盤桶是否有效?
uj5u.com熱心網友回復:
我已使用此方法成功創建了新的磁區表:
CREATE TABLE my_table
WITH (
format = 'PARQUET',
parquet_compression = 'SNAPPY',
external_location = 's3://bucket/folder/',
partitioned_by = ARRAY['year']
)
AS
SELECT
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/437050.html
上一篇:無法訪問的主機:`savingsplans.eu-west-1.amazonaws.com'。此服務在“eu-west-1”區域可能不可用
