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

时间:2019-06-28 09:21:31

标签: sql amazon-web-services amazon-athena

我在AWS Athena中有一个表,其中包含2条记录。是否存在SQL查询,可以使用该查询将新列插入表中?

2 个答案:

答案 0 :(得分:1)

您可以在Athena documentation

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

或者您可以使用CTAS

例如,您有一个带有

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

,您可以使用查询从sample_test创建另一个表

CREATE TABLE new_test
AS 
SELECT *, 'new' AS new_col FROM sample_test

您可以在AS之后使用任何可用的查询

答案 1 :(得分:0)

这主要是为像我这样的未来读者而设计的,他们一直在努力使用AVRO数据来为Hive表工作,并且如果您不想创建新表(即更新现有表的架构)。它适用于使用“添加列”的csv,但不适用于Hive + AVRO。对于Hive + AVRO,要在分区列的末尾附加列,此link处提供了解决方案。但是,有两点需要注意,我们需要将完整的模式传递给文字属性,而不仅仅是传递更改。并且(不确定为什么)但是我们必须以相同的顺序更改所有3项的配置单元表-1.使用add columns 2. set tblproperties和3. set serdeproperties添加列。希望它能对某人有所帮助。