在 Athena AWS 中重命名列名

问题描述

我尝试了多种方法重命名 athena 表中的某些列名。

阅读以下文章

https://docs.aws.amazon.com/athena/latest/ug/alter-table-replace-columns.html

但我没有运气。

我试过了

ALTER TABLE "users_data"."values_portions" REPLACE COLUMNS ('username/teradata' 'String','username_teradata' 'String') 

出现错误

no viable alternative at input 'alter table "users_data"."values_portions" replace' (service: amazonathena; status code: 400; error code: invalidrequestexception; request id: 23232ssdds.....; proxy: null)

解决方法

您可以参考 this 文档,其中讨论了重命名列。您尝试运行的查询将使用提供的列列表替换现有表中的所有列。

重命名列的一种策略是基于相同的基础数据创建一个新表,但使用新的列名。 link 中提到的示例创建了一个名为 orders_parquet_column_renamed 的新 orders_parquet 表。该示例将列 o_totalprice 名称更改为 o_total_price,然后在 Athena 中运行查询。

另一种更改列名称的方法是直接转到 AWS Glue -> Select database -> select table -> edit schema -> double click on column name -> type in new name -> save