使用分区将雅典娜结果保存到另一个 table
saving athena results to another table with partitions
来自 AWS 雅典娜
我正在尝试连接多个 table,然后使用分区密钥保存它。
在运行
之后
select *
from t1
union all
select *
from t2
select *
from t3
在控制台上创建 table 创建这样的查询,
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
命令从中创建了新的 table(这有效,但是 return 空行 -> 即使在 运行 MSCK REPAIR
之后)
来自 https://aws.amazon.com/premiumsupport/knowledge-center/athena-create-use-partitioned-tables/ 看来我需要按分区将数据保存到 S3,所以在 bucket1 中它将有 bucket1/2021,如果 'year' 列是分区,则 bucket1/2022柱子。正确的?如果是,创建分区桶是否有效?
我已经使用此方法成功创建了新的分区表:
CREATE TABLE my_table
WITH (
format = 'PARQUET',
parquet_compression = 'SNAPPY',
external_location = 's3://bucket/folder/',
partitioned_by = ARRAY['year']
)
AS
SELECT
...
来自 AWS 雅典娜
我正在尝试连接多个 table,然后使用分区密钥保存它。
在运行
之后select *
from t1
union all
select *
from t2
select *
from t3
在控制台上创建 table 创建这样的查询,
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
命令从中创建了新的 table(这有效,但是 return 空行 -> 即使在 运行 MSCK REPAIR
之后)
来自 https://aws.amazon.com/premiumsupport/knowledge-center/athena-create-use-partitioned-tables/ 看来我需要按分区将数据保存到 S3,所以在 bucket1 中它将有 bucket1/2021,如果 'year' 列是分区,则 bucket1/2022柱子。正确的?如果是,创建分区桶是否有效?
我已经使用此方法成功创建了新的分区表:
CREATE TABLE my_table
WITH (
format = 'PARQUET',
parquet_compression = 'SNAPPY',
external_location = 's3://bucket/folder/',
partitioned_by = ARRAY['year']
)
AS
SELECT
...