如何解决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 /')。
感谢您的帮助!
解决方法
AWS支持人员回复了我们的故障单,并建议我们使用“胶履带”。
- Glue搜寻器可以自动添加特定格式和位置的分区
- Glue搜寻器需要分区键位于路径中
- IAM角色与湖泊形成有关。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。