3

我们有零售行业数据的用例。我们热衷于制作 EDW。

我们目前正在从 HAWQ 进行报告。但我们想将 MPP 数据库从 Hawq 转移到 Greenplum。基本上,我们想对当前的数据管道进行更改。

我们对 gpdb 的困惑点:

  • gpdb 层将如何影响我们现有的数据管道。这里的数据管道是外部系统--> talend-->hadoop-hawq-->tableau。我们想将我们的数据管道转换为外部系统 --> talend -->hadoop-hawq-->greenplum -->tableau。
  • Greenplum 如何在物理上或逻辑上帮助 SQL 转换和报告。

  • 我应该选择哪种文件格式将文件存储在 GPDB 中,而
    HAWQ 我们以纯文本格式存储文件。支持的格式有利于在 gpdb 中编写,例如 avro、parquet 等。

  • 如何从 GPDB 处理数据文件。因此,它还带来了更快的报告和预测分析。

  • 有没有办法将数据从 HAWQ 推送到 Greenplum?我们正在
    寻找如何将我们的报告用例从
    HAWQ 转变为 Greenplum 的指导。

任何帮助将不胜感激?

4

1 回答 1

3

这个查询有点像在问,“我什么时候应该使用扳手?” 答案也将是主观的,因为 Greenplum 可以用于许多不同的事情。但是,我会尽我所能,因为你问我的意见。

gpdb 层将如何影响我们现有的数据管道。这里的数据管道是外部系统--> talend-->hadoop-hawq-->tableau。我们想将我们的数据管道转换为外部系统 --> talend -->hadoop-hawq-->greenplum -->tableau。

有很多方法可以实现数据管道,您首先将数据加载到 Hadoop,然后将其加载到 Greenplum 的目标非常常见并且效果很好。您可以使用 Greenplum 中的外部表直接从 HDFS 并行读取数据。所以数据从 Hadoop 集群到 Greenplum 的移动可以通过一个简单的 INSERT 语句来实现。

INSERT INTO greenplum_customer SELECT * FROM hdfs_customer_file;

Greenplum 如何在物理上或逻辑上帮助 SQL 转换和报告。

一个人的隔离。使用 Greenplum 的单独集群,您可以为您的客户提供分析,而不会影响您的 Hadoop 活动的性能,反之亦然。这种隔离还可以提供额外的安全层。

我应该选择哪种文件格式将文件存储在 GPDB 中,而 HAWQ 我们以纯文本格式存储文件。支持的格式有利于在 gpdb 中编写,例如 avro、parquet 等。

按照您的建议,使用您的数据管道,我将根据性能在 Greenplum 中做出数据格式决定。如此大的表,对表进行分区并使用 quicklz 压缩使其面向列。对于较小的表,只需使其附加优化。对于有大量更新或删除的表,将其保留为默认堆。

如何从 GPDB 处理数据文件。因此,它还带来了更快的报告和预测分析。

Greenplum 是一个 MPP 数据库。存储是“无共享”的,这意味着每个节点都具有其他节点所没有的唯一数据(不包括镜像以实现高可用性)。段的数据将始终在本地磁盘上。

在 HAWQ 中,因为它使用 HDFS,所以段的数据不必是本地的。第一天,当你将数据写入 HDFS 时,它是本地的,但在节点失败、扩展等之后,HAWQ 可能不得不从其他节点获取数据。由于 Hadoop 的工作方式,这使得 Greenplum 的性能比 HAWQ 更可预测。

有没有办法将数据从 HAWQ 推送到 Greenplum?我们正在寻找如何将我们的报告用例从 HAWQ 转变为 Greenplum 的指导。

推,不,但拉,是的。正如我上面提到的,您可以在 Greenplum 中创建一个外部表来从 HDFS 中选择数据。您还可以在 Greenplum 中创建可写外部表以将数据推送到 HDFS。

于 2016-05-19T14:35:17.350 回答