首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从PostgreSQL到AWS S3的数据移动和RedShift频谱分析

从PostgreSQL到AWS S3的数据移动和RedShift频谱分析
EN

Stack Overflow用户
提问于 2018-11-05 15:44:09
回答 2查看 1.4K关注 0票数 1

我有大量不同模式的PostgreSQL表,以及其中的大量数据。

我现在无法进行数据分析,因为数据量相当大--一些TB的数据和PostgreSQL无法在合理的时间内处理查询。

我正在考虑以下方法--我将使用Apache处理我的所有PostgreSQL表,加载DataFrames并将它们存储为AWS S3中的Parquet文件。然后,我将使用RedShift谱来查询存储在这些拼花文件中的信息。

首先,我想问一问-这个解决方案会起作用吗?

第二个- RedShift谱是否能够在不需要额外模式规范的情况下自动从这些PostgreSQL文件创建外部表(即使原始PostgreSQL表包含AWS RedShift不支持的数据类型)?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-11-06 09:31:08

  1. 红移谱基本上支持与红移本身相同的数据类型。
  2. 红移谱在幕后创建计算节点簇。集群的大小取决于实际红移群集节点的数量,所以如果您计划创建一个节点红移群集,频谱运行将非常慢。
  3. 正如您在注释中所指出的,您可以使用雅典娜查询数据,在您的情况下,这将是更好的选择,而不是频谱。但是雅典娜有一些限制,比如30分钟的运行时间,内存消耗等等,所以如果你计划用几个连接来做复杂的查询,它就不能工作。
  4. 没有提供的结构,红移谱不能创建外部表。
  5. 在您的情况下,最好的解决方案是使用Spark (关于EMR,或Glue)转换数据,使用雅典娜查询数据,如果雅典娜不能执行特定的查询--对相同的数据使用SparkSQL。您可以使用Glue,但是在EMR现场实例上运行作业将更加灵活和廉价。EMR集群附带了EMRFS,它使您能够几乎透明地使用S3,而不是HDFS。
票数 1
EN

Stack Overflow用户

发布于 2018-11-05 15:53:26

AWS胶作为您的一种选择可能会很有趣。它是Spark的托管版本,带有一些AWS特定的加载项和一个Data +数据目录。

它可以抓取非结构化数据,如Parquet文件,并确定结构。然后,如果需要,可以以结构化的形式将其导出到AWS RedShift。

有关如何使用JDBC将其连接到postgres数据库以将数据从Postgres移动到S3,请参见S3。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53157597

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档