我有大量具有不同模式的 PostgreSQL 表以及其中的大量数据。
我现在无法进行数据分析,因为数据量非常大 - 几 TB 的数据,而 PostgreSQL 无法在合理的时间内处理查询。
我正在考虑以下方法 - 我将使用 Apache Spark 处理我的所有 PostgreSQL 表,加载 DataFrame 并将它们作为 Parquet 文件存储在 AWS S3 中。然后我将使用 RedShift Spectrum 来查询存储在这些 PARQUET 文件中的信息。
首先,我想问一下——这个解决方案会起作用吗?
第二个 - RedShift Spectrum 是否能够从这些 Parquet 文件自动创建 EXTERNAL 表而无需额外的架构规范(即使原始 PostgreSQL 表包含 AWS RedShift 不支持的数据类型)?