将athena结果保存到另一个带有分区的表中



来自AWS Athena

我正在尝试连接多个表,然后用partitone键保存它。

运行后

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中,如果"year"列是分区列,它将具有bucket1/2021和bucket1/2022。对的如果是,是否有有效的方法来创建分区存储桶?

我使用以下方法成功创建了新的分区表:

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

最新更新