我们可以使用 SQL 查询向 AWS Athena 中的现有 table 添加列吗?

Can we add column to an existing table in AWS Athena using SQL query?

我在 AWS Athena 中有一个 table,其中包含 2 条记录。是否有 SQL 查询可用于将新列插入到 table?

您可以在 Athena documentation

中找到有关向 table 添加列的更多信息

或者您可以使用 CTAS

例如,您有一个 table 和

CREATE EXTERNAL TABLE sample_test(
  id string)
LOCATION
  's3://bucket/path'

并且您可以使用查询

sample_test 创建另一个 table
CREATE TABLE new_test
AS 
SELECT *, 'new' AS new_col FROM sample_test

您可以在 AS

之后使用任何可用的查询

这主要是为了像我这样的未来读者,他们正在努力使用 AVRO 数据为 Hive table 工作,并且如果您不想创建新的 table 即更新模式现有 table。它适用于使用 'add columns' 的 csv,但不适用于 Hive + AVRO。对于Hive + AVRO,要在末尾追加列,在分区列之前,解决方案在link。但是,有几件事需要注意,我们需要将完整的模式传递给文字属性,而不仅仅是更改;并且(不知道为什么但是)我们不得不以相同的顺序为所有 3 件事更改配置单元 table - 1. 使用 add columns 添加列 2. set tblproperties 和 3. set serdeproperties.希望它对某人有所帮助。