问题描述
阅读以下文章后
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
。