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,因此不会存储零 - 它只是用于帮助识别列类型。