繁体   English   中英

将雅典娜结果保存到另一个带分区的表

[英]saving athena results to another table with partitions

来自 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' 列是分区列。 正确的? 如果是,创建分区桶是否有效?

我已经使用此方法成功创建了新的分区表:

CREATE TABLE my_table
WITH (
 format = 'PARQUET',
 parquet_compression = 'SNAPPY',
 external_location = 's3://bucket/folder/',
 partitioned_by = ARRAY['year']
)
AS
SELECT
  ...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM