【发布时间】:2018-10-24 18:08:07
【问题描述】:
我应该先说明我正在为我的 AWS 账户使用增强型 VPC 路由,precludes me 从使用传统 S3 到 Redshift 查询:
“您的集群无法启用增强型 VPC 路由。(使用 Spectrum)”
我的理解是 AWS Redshift 是一种高辛烷值的 Postgres 即服务,它针对大数据量的极快读取进行了优化。因此,如果您很多有想要查询/分析的关系数据,那么 Redshift 对您来说是一个不错的选择。
我对 AWS Athena 的理解是它只是使用类似 Apache Drill(或类似的)的东西来为存储在 S3 存储桶中的任何数据提供类似 SQL 的接口(关系和其他,以及任何格式:非结构化纯文本、JSON、XML 等)。因此,如果您只想通过类似 SQL 的语法查询 S3 中的数据,那么 Athena 是您的不错选择。
首先,任何人都可以先确认/澄清我的上述理解吗?假设我或多或少是正确的......
我在 S3 上有结构化/关系(存储在 JSON 和 CSV 文件中)。我想创建一个 ETL 进程,从 S3 中读取这些数据并将其转储到 Redshift 中,以便下游进程可以对其进行分析。
所以我正在考虑创建一个基于 Spark 的 ETL 管道:
- Spark 使用 Athena 将 S3 数据查询到
DataFrames;我还想知道 AWS Glue 是否可以在这里做一些繁重的工作 - Spark 将
DataFrames的内容写入 Redshift
所以我的问题是:这是将大量部分结构化/关系 S3 数据(再次以各种文件格式存储)移植到 Redshift 的最有效方法,还是有更好/更简单的方法?
【问题讨论】:
-
Athena 实际上是隐蔽的 Presto 数据库
-
Redshift Spectrum 现在支持增强型 VPC 路由:picnicerror.net/development/aws/…
标签: apache-spark amazon-s3 amazon-redshift amazon-athena aws-glue