Redshift Spectrum 是不是允许您在外部表上添加列

Posted

技术标签:

【中文标题】Redshift Spectrum 是不是允许您在外部表上添加列【英文标题】:Does Redshift Spectrum allow you to add columns on an external tableRedshift Spectrum 是否允许您在外部表上添加列 【发布时间】:2021-10-20 15:26:46 【问题描述】:

我在有关更改外部表的 Redshift 文档中找不到任何内容。只是添加分区的注意事项。

我需要做这样的事情

Alter table spectrum.some_table
Add column notes character varying;

在我可能因公关而让自己难堪之前,有没有人有这方面的经验?

非常感谢

【问题讨论】:

【参考方案1】:

没有。 'Alter table XXX add column ...' 仅对内部表有效。由于 Spectrum 基于存储在 S3 中的文件,因此这些文件还需要更改其内容以支持新的表定义。外部表定义和文件的构造是链接的,因此不清楚为什么要向外部表添加列而不是保存语句(alter vs drop & create)。如果您说明那是什么,这可能是实现您更大目标(我看不到)的一种方式。

【讨论】:

以上是关于Redshift Spectrum 是不是允许您在外部表上添加列的主要内容,如果未能解决你的问题,请参考以下文章

扫描外部表(S3 数据)时 Redshift Spectrum 中的成本控制

有没有办法在 Redshift Spectrum 中使用“IN”条件检查多个列?

Redshift Spectrum 为查询扫描的数据大小

如何使用 Psycopg2 在 Redshift Spectrum 中添加分区 -

Redshift Spectrum 使用两个日期字段对表进行分区

如何更改 Redshift Spectrum 中的外部表?