AWS Athena - 使用 CREATE AS SELECT 时添加新列
AWS Athena - Add new column when using CREATE AS SELECT
我想基于现有的 table 创建一个新的 table,但有一些 new/additional 列。
这如何在 AWS Athena 中完成?目前这是它的样子,但它抱怨 new_id
不在源 table 中(很明显)。
CREATE TABLE IF NOT EXISTS "dst_orders"
WITH ( format='PARQUET', parquet_compression='SNAPPY', partitioned_by=ARRAY['new_id','year','month','day'], external_location = 's3://dev-bucket/api/dst/dst_orders/') AS
SELECT billing_address,
totalprice,
uuid,
hour,
new_id, <== This is the new column I need, also in 'partitioned_by'
year,
month,
day
FROM "src_orders"
WITH NO DATA
您需要为查询提供列类型和名称。
假设新字段是 int
.
不指定 new_id
(因为它不存在),而是使用 0 as new_id
.
这将创建一个名为 new_id
的列,类型为 int
。由于您已指定 WITH NOT DATA
,因此不会存储零 - 它只是用于帮助识别列类型。
我想基于现有的 table 创建一个新的 table,但有一些 new/additional 列。
这如何在 AWS Athena 中完成?目前这是它的样子,但它抱怨 new_id
不在源 table 中(很明显)。
CREATE TABLE IF NOT EXISTS "dst_orders"
WITH ( format='PARQUET', parquet_compression='SNAPPY', partitioned_by=ARRAY['new_id','year','month','day'], external_location = 's3://dev-bucket/api/dst/dst_orders/') AS
SELECT billing_address,
totalprice,
uuid,
hour,
new_id, <== This is the new column I need, also in 'partitioned_by'
year,
month,
day
FROM "src_orders"
WITH NO DATA
您需要为查询提供列类型和名称。
假设新字段是 int
.
不指定 new_id
(因为它不存在),而是使用 0 as new_id
.
这将创建一个名为 new_id
的列,类型为 int
。由于您已指定 WITH NOT DATA
,因此不会存储零 - 它只是用于帮助识别列类型。