如何通过 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

Quicksight 数据集 - 无法查看雪花模式和表

从 MySQL 客户端通过 AWS 堡垒主机连接到 MySQL RDS 实例

如何使用 `redis` 通过 SSL 跨 ssh 隧道连接到 Redis 实例(AWS elasticache)?

如何使用 dplyr 和 RPostgreSQL 将 r 连接到 redshift?