Redshift Spectrum“更改表添加分区”的安全性

为了将分区添加到现有Redshift Spectrum表中,我需要保持什么安全性?

我试图做:

alter table my_spectrum.my_outputs
add if not exists partition(client_num=101,env_tag='dev')
LOCATION 's3a://my-bucket/my-folder/my-outputs/'
;

这将引发SQLException:

[Amazon](500310) Invalid operation: must be owner of relation my_spectrum;

我不是这里的所有者...但是,如果我有一些可能要追加分区的批处理程序,该怎么办?他们不能称呼为所有者吗?

尝试授予自己访问权限也不起作用:

GRANT ALTER ON EXTERNAL SCHEMA my_spectrum to dedelstein;

投掷

Invalid operation: Grantee can only be an IAM Role or PUBLIC for grants on external resources

还是我误解了一些有关Spectrum的基本知识?如果我的文件遵循某种格式,它将自动添加分区吗?设置原始表位置时,我的文件路径是否需要在设置的主要s3位置下面?而且每个分区密钥是否都需要位于文件路径中(例如's3:// awssampledbuswest2 / tickit / spectrum / sales_partition / saledate = 2008-02 /')。

感谢您的帮助!

iCMS 回答:Redshift Spectrum“更改表添加分区”的安全性

AWS支持人员回复了我们的故障单,并建议我们使用“胶履带”。

  1. Glue搜寻器可以自动添加特定格式和位置的分区
  2. Glue搜寻器需要分区键位于路径中
  3. IAM角色与湖泊形成有关。
本文链接:https://www.f2er.com/1742817.html

大家都在问