如何通过 AWS Quicksight 连接到 Redshift Spectrum 上的外部架构/表?
Posted
技术标签:
【中文标题】如何通过 AWS Quicksight 连接到 Redshift Spectrum 上的外部架构/表?【英文标题】:How do you connect to an external schema/table on Redshift Spectrum through AWS Quicksight? 【发布时间】:2019-12-30 12:10:58 【问题描述】:我已经启动了一个 Redshift 集群并通过运行添加了我的 S3 外部架构
CREATE EXTERNAL SCHEMA s3 FROM DATA CATALOG
DATABASE '<aws_glue_db>'
IAM_ROLE '<redshift_s3_glue_iam_role_arn>';
访问 AWS Glue 数据目录。 Redshift上一切都很好,我可以查询数据,一切都很好。然而,在 Quicksight 上,该表已被识别但为空。
我是否必须将数据移入 Redshift?如果是这样,我应该使用 Redshift 的唯一原因是处理 Parquet 文件吗?
【问题讨论】:
【参考方案1】:您应该能够从 redshift 中选择外部表,我认为您使用的角色缺少对 s3 的访问权限
https://aws.amazon.com/premiumsupport/knowledge-center/redshift-cross-account-glue-s3/
【讨论】:
在 Redshift 上我可以看到外部表并对其进行查询,但在 Quicksight 上它显示为空 github.com/awsdocs/amazon-quicksight-user-guide/blob/master/…。您需要附加到角色的策略:将 IAM 策略 AmazonS3ReadOnlyAccess 和 AmazonAthenaFullAccess 添加到 IAM 角色。 1.您指的是什么 IAM 角色? Redshift的那个? 2. 为什么选择雅典娜? Spectrum 和 Glue 还不够吗?【参考方案2】:最后我只是写了一个自定义的 SQL 表达式来选择相关的字段
【讨论】:
以上是关于如何通过 AWS Quicksight 连接到 Redshift Spectrum 上的外部架构/表?的主要内容,如果未能解决你的问题,请参考以下文章
通过 R 连接到 AWS Redshift - Mac OSX
无法将R连接到AWS中的Bitnami服务器中托管的mysql
从 MySQL 客户端通过 AWS 堡垒主机连接到 MySQL RDS 实例