如何廉价、快速地移动、上传和集成非常大的数据? 什么是下推优化?

任何大数据操作都需要大量的计算能力。 将数据从数据库转移到 Hadoop 的典型过程可能需要数周时间,或者成本相当于飞机机翼的成本。 不想等又花钱? 平衡不同平台之间的负载。 一种方法是下推优化。

我请俄罗斯领先的 Informatica 产品开发和管理培训师 Alexey Ananyev 谈谈 Informatica 大数据管理 (BDM) 中的下推优化功能。 您是否学会过使用 Informatica 产品? 最有可能的是,Alexey 向您介绍了 PowerCenter 的基础知识并解释了如何构建映射。

Alexey Ananyev,DIS 集团培训主管

什么是下推?

许多人已经熟悉 Informatica 大数据管理 (BDM)。 该产品可以集成来自不同来源的大数据、在不同系统之间移动数据、提供轻松访问数据、允许您分析数据等等。
在正确的人手中,BDM 可以创造奇迹:可以用最少的计算资源快速完成任务。

你也想要那个吗? 了解如何使用 BDM 中的下推功能在不同平台之间分配计算负载。 下推技术允许您将映射转换为脚本并选择该脚本运行的环境。 这种选择使您可以结合不同平台的优势并实现其最大性能。

配置脚本执行环境,需要选择下推类型。 该脚本可以完全在 Hadoop 上运行,也可以部分分布在源和接收器之间。 有 4 种可能的下推类型。 映射不需要变成脚本(本机)。 映射可以在源上尽可能多地进行(source),也可以完全在源上进行(full)。 映射也可以变成 Hadoop 脚本(无)。

下推优化

列出的 4 种类型可以以不同的方式组合 - 下推可以针对系统的特定需求进行优化。 例如,使用数据库自​​身的功能从数据库中提取数据通常更合适。 并且数据将使用Hadoop进行转换,以免数据库本身过载。

让我们考虑一下源和目标都在数据库中的情况,并且可以选择转换执行平台:根据设置,它将是 Informatica、数据库服务器或 Hadoop。 这样的例子可以让你最准确地理解这个机制运作的技术层面。 当然,在现实生活中,这种情况不会出现,但它最适合演示功能。

让我们通过映射来读取单个 Oracle 数据库中的两个表。 并让读取结果记录在同一个数据库的一张表中。 映射方案将是这样的:

如何廉价、快速地移动、上传和集成非常大的数据? 什么是下推优化?

在 Informatica BDM 10.2.1 上的映射形式如下:

如何廉价、快速地移动、上传和集成非常大的数据? 什么是下推优化?

下推类型 – 本机

如果我们选择下推本机类型,则映射将在 Informatica 服务器上执行。 数据将从 Oracle 服务器读取,传输到 Informatica 服务器,在那里进行转换并传输到 Hadoop。 也就是说,我们将得到一个正常的ETL流程。

下推类型 – 来源

选择源类型时,我们有机会在数据库服务器 (DB) 和 Hadoop 之间分布我们的流程。 当使用此设置执行进程时,从表中检索数据的请求将被发送到数据库。 其余的将在 Hadoop 上以步骤的形式执行。
执行图将如下所示:

如何廉价、快速地移动、上传和集成非常大的数据? 什么是下推优化?

下面是设置运行时环境的示例。

如何廉价、快速地移动、上传和集成非常大的数据? 什么是下推优化?

在这种情况下,映射将分两步进行。 在其设置中,我们将看到它已变成将发送到源的脚本。 此外,组合表和转换数据将以源上重写查询的形式执行。
在下图中,我们看到 BDM 上的优化映射以及源上重新定义的查询。

如何廉价、快速地移动、上传和集成非常大的数据? 什么是下推优化?

在此配置中,Hadoop 的作用将减少为管理数据流 - 编排数据流。 查询结果将发送到Hadoop。 读取完成后,来自 Hadoop 的文件将被写入到接收器中。

下推式 – 全

当您选择完整类型时,映射将完全变成数据库查询。 并且请求的结果将被发送到Hadoop。 下面给出了这样一个过程的图表。

如何廉价、快速地移动、上传和集成非常大的数据? 什么是下推优化?

下面显示了一个示例设置。

如何廉价、快速地移动、上传和集成非常大的数据? 什么是下推优化?

结果,我们将得到与前一个类似的优化映射。 唯一的区别是所有逻辑都以覆盖其插入的形式传输到接收器。 下面给出了优化映射的示例。

如何廉价、快速地移动、上传和集成非常大的数据? 什么是下推优化?

在这里,与前面的案例一样,Hadoop 扮演着指挥者的角色。 但这里是完整读取源,然后在接收器级别执行数据处理逻辑。

下推类型为空

好吧,最后一个选项是下推类型,在这种类型中我们的映射将变成 Hadoop 脚本。

优化后的映射现在如下所示:

如何廉价、快速地移动、上传和集成非常大的数据? 什么是下推优化?

这里,源文件中的数据将首先在 Hadoop 上读取。 然后,用他自己的手段,将这两个文件结合起来。 之后,数据将被转换并上传到数据库。

通过了解下推优化的原理,您可以非常有效地组织许多处理大数据的流程。 因此,最近,一家大公司在短短几周内就将之前收集了几年的大数据从存储下载到了 Hadoop 中。

来源: habr.com

添加评论