Greenplum 中的并行数据加载

Posted

技术标签:

【中文标题】Greenplum 中的并行数据加载【英文标题】:Parallel Data Loading in Greenplum 【发布时间】:2012-11-21 04:56:21 【问题描述】:

Greenplum 说它具有并行数据加载功能。我对它的工作原理有疑问。请务必向我解释。我知道记录是并行读取的,但我不明白并行写入是如何完成的。并行写入是在同一个数据库上完成还是在不同的数据库(段)上完成?请解释一下。谢谢

【问题讨论】:

-1:这在管理指南第 12 章“加载和卸载数据”中进行了解释 【参考方案1】:

并行写入在不同的段上完成,数据由 ETL 服务器上运行的 1 个或多个 gpfdist 实例提供。我怀疑魔法的重要部分是distributed by 扩展,它用于将数据库的行分散到段服务器中。

【讨论】:

【参考方案2】:

在 gpfdist 或 gphdfs 的帮助下,可以在段级别完成并发读/写。

例如,如果您想将数据卸载到磁盘上的文件,您可以使用连接到多个 gpfdist 位置的可写外部表,并且每个数据段会将数据并行写入这些目标。

【讨论】:

【参考方案3】:

约翰是对的。

默认情况下,每个 gpfdist 实例将处理 4 个并发连接。 加载时,每个有连接的段将读取它们的“块”数据并根据表的分布散列进行处理。

见:https://blog.2ndquadrant.com/parallel_etl_with_greenplum/

【讨论】:

以上是关于Greenplum 中的并行数据加载的主要内容,如果未能解决你的问题,请参考以下文章

开源数据仓库解决方案GreenPlum

Greenplum loader 不会将数据写入管道文件

GreenPlum数据的装载与卸载之外部表以及gpfdist工具的使用

使用 MapReduce 或 Sqoop 将数据加载到 Greenplum DB

GreenPlum数据加载

Datastage 作业使用 ODBC Greenplum Wire Protocol 驱动程序使 netezza 无法加载到 greenplum 数据