Talend - 快速指南


Talend - 简介

Talend 是一个软件集成平台,提供数据集成、数据质量、数据管理、数据准备和大数据解决方案。对具有 Talend 知识的 ETL 专业人员的需求很高。此外,它是唯一具有所有插件的 ETL 工具,可轻松与大数据生态系统集成。

根据 Gartner 的数据,Talend 属于数据集成工具领导者魔力象限。

Talend 提供各种商业产品,如下所列 -

  • Talend 数据质量
  • Talend 数据集成
  • Talend 数据准备
  • 人才云
  • 人才大数据
  • Talend MDM(主数据管理)平台
  • Talend 数据服务平台
  • Talend 元数据管理器
  • Talend 数据结构

Talend 还提供 Open Studio,这是一款广泛用于数据集成和大数据的开源免费工具。

Talend - 系统要求

以下是下载和使用 Talend Open Studio 的系统要求 -

推荐操作系统

  • 微软Windows 10
  • Ubuntu 16.04 LTS
  • 苹果 macOS 10.13/High Sierra

内存要求

  • 内存 - 最低 4 GB,建议 8 GB
  • 存储空间 - 30 GB

此外,您还需要一个正常运行的 Hadoop 集群(最好是 Cloudera)。

注意- Java 8 必须在已设置环境变量的情况下可用。

Talend - 安装

要下载 Talend Open Studio for Big Data 和 Data Integration,请按照以下步骤操作 -

步骤 1 - 转到页面:https://www.talend.com/products/big-data/big-data-open-studio/并单击下载按钮。您可以看到 TOS_BD_xxxxxxx.zip 文件开始下载。

步骤 2 - 下载完成后,解压 zip 文件的内容,它将创建一个包含所有 Talend 文件的文件夹。

步骤 3 - 打开 Talend 文件夹并双击可执行文件:TOS_BD-win-x86_64.exe。接受用户许可协议。

用户许可

步骤 4 - 创建一个新项目并单击完成。

单击“完成”

步骤 5 - 如果您收到 Windows 安全警报,请单击“允许访问”。

Windows 安全警报

步骤 6 - 现在,Talend Open Studio 欢迎页面将打开。

欢迎页面

步骤 7 - 单击“完成”安装所需的第三方库。

第三方库

步骤 8 - 接受条款并单击完成。

接受条款

步骤 9 - 单击“是”。

确认

现在您的 Talend Open Studio 已准备好必要的库。

Talend 开放工作室

Talend Open Studio 是一款用于数据集成和大数据的免费开源 ETL 工具。它是一个基于 Eclipse 的开发工具和作业设计器。您只需拖放组件并将它们连接起来即可创建和运行 ETL 或 ETL 作业。该工具将自动为该作业创建 Java 代码,您无需编写任何代码。

连接数据源的选项有多种,例如 RDBMS、Excel、SaaS 大数据生态系统,以及 SAP、CRM、Dropbox 等应用程序和技术。

Talend Open Studio 提供的一些重要优势如下:

  • 提供数据集成和同步所需的所有功能,包括 900 个组件、内置连接器、自动将作业转换为 Java 代码等等。

  • 该工具完全免费,因此可以节省大量成本。

  • 在过去的12年里,多个大型组织已经采用TOS进行数据集成,这表明对该工具的信任度非常高。

  • Talend 数据集成社区非常活跃。

  • Talend 不断向这些工具添加功能,并且文档结构良好且非常易于理解。

Talend - 数据集成

大多数组织从多个地方获取数据并单独存储。现在,如果组织必须进行决策,则必须从不同来源获取数据,将其放在统一的视图中,然后对其进行分析以获得结果。这个过程称为数据集成。

好处

数据集成提供了许多好处,如下所述 -

  • 改善组织中尝试访问组织数据的不同团队之间的协作。

  • 由于数据被有效集成,因此可以节省时间并简化数据分析。

  • 自动数据集成过程可同步数据并简化实时和定期报告,否则如果手动完成则非常耗时。

  • 从多个来源集成的数据会随着时间的推移而成熟和改进,最终有助于提高数据质量。

处理项目

在本节中,让我们了解如何处理 Talend 项目 -

创建项目

双击TOS Big Data可执行文件,将打开如下所示的窗口。

选择“创建新项目”选项,提及项目名称,然后单击“创建”。

创建项目

选择您创建的项目并单击完成。

选择项目

导入项目

双击TOS Big Data可执行文件,您可以看到如下所示的窗口。选择导入演示项目选项并单击选择。

导入项目

您可以从下面显示的选项中进行选择。这里我们选择数据集成演示。现在,单击“完成”。

数据整合

现在,给出项目名称和描述。单击“完成”。

项目名

您可以在现有项目列表下看到导入的项目。

引进项目

现在,让我们了解如何导入现有 Talend 项目。

选择导入现有项目选项并单击选择。

现有项目选项

提供项目名称并选择“选择根目录”选项。

选择根目录

浏览现有 Talend 项目主目录并单击完成。

浏览项目

您现有的 Talend 项目将被导入。

打开项目

从现有项目中选择一个项目,然后单击“完成”。这将打开该 Talend 项目。

开业项目

删除项目

要删除项目,请单击管理连接。

删除项目

单击删除现有项目

删除现有项目

选择要删除的项目并单击“确定”。

项目删除

再次单击“确定”。

导出项目

单击导出项目选项。

出口项目

选择要导出的项目并指定导出位置的路径。单击“完成”。

存档文件

Talend - 模型基础知识

业务模型是数据集成项目的图形表示。它是业务工作流程的非技术表示。

为什么需要商业模式?

建立业务模型是为了向高层管理人员展示您正在做的事情,同时也让您的团队了解您正在努力实现的目标。设计业务模型被认为是组织在数据集成项目开始时采用的最佳实践之一。此外,它还有助于降低成本,发现并解决项目中的瓶颈。如果需要,可以在项目实施期间和之后修改模型。

在 Talend Open Studio 中创建业务模型

Talend open studio 提供多种形状和连接器来创建和设计业务模型。业务模型中的每个模块都可以附加一个文档。

Talend Open Studio 提供以下形状和连接器选项来创建业务模型 -

  • 决策- 此形状用于将 if 条件放入模型中。

  • 动作- 此形状用于显示任何转换、翻译或格式设置。

  • 端子- 此形状显示输出端子类型。

  • 数据- 此形状用于显示数据类型。

  • 文档- 此形状用于插入文档对象,该文档对象可用于处理数据的输入/输出。

  • 输入- 此形状用于插入输入对象,用户可以使用该对象手动传递数据。

  • 列表- 此形状包含提取的数据,可以将其定义为仅保存列表中的某种数据。

  • 数据库- 此形状用于保存输入/输出数据。

  • 演员- 这种形状象征着参与决策和技术流程的个人

  • 椭圆- 插入椭圆形状。

    齿轮- 此形状显示必须由 Talend 作业替换的手动程序。

Talend - 数据集成组件

Talend 中的所有操作均由连接器和组件执行。Talend 提供 800 多个连接器和组件来执行多种操作。这些组件存在于调色板中,组件所属的主要类别有 21 个。您可以选择连接器并将其拖放到设计器窗格中,它将自动创建 java 代码,该代码将在您保存 Talend 代码时进行编译。

包含组件的主要类别如下所示 -

主要类别

以下是 Talend Open Studio 中广泛使用的用于数据集成的连接器和组件的列表 -

  • tMysqlConnection - 连接到组件中定义的 MySQL 数据库。

  • tMysqlInput - 运行数据库查询以读取数据库并根据查询提取字段(表、视图等)。

  • tMysqlOutput - 用于写入、更新、修改 MySQL 数据库中的数据。

  • tFileInputDelimited - 逐行读取分隔文件并将它们分成单独的字段并将其传递到下一个组件。

  • tFileInputExcel - 逐行读取 Excel 文件并将它们分成单独的字段并将其传递到下一个组件。

  • tFileList - 从给定的文件掩码模式获取所有文件和目录。

  • tFileArchive - 将一组文件或文件夹压缩为 zip、gzip 或 tar.gz 存档文件。

  • tRowGenerator - 提供一个编辑器,您可以在其中编写函数或选择表达式来生成示例数据。

  • tMsgBox - 返回一个包含指定消息和“确定”按钮的对话框。

  • tLogRow - 监视正在处理的数据。它在运行控制台中显示数据/输出。

  • tPreJob - 定义在实际作业开始之前运行的子作业。

  • tMap - 充当 Talend studio 中的插件。它从一个或多个源获取数据,对其进行转换,然后将转换后的数据发送到一个或多个目的地。

  • tJoin - 通过在主流程和查找流程之间执行内部和外部联接来联接 2 个表。

  • tJava - 使您能够在 Talend 程序中使用个性化 Java 代码。

  • tRunJob - 通过运行一个又一个 Talend 作业来管理复杂的作业系统。

Talend - 作业设计

这是业务模型的技术实现/图形表示。在此设计中,一个或多个组件相互连接以运行数据集成过程。因此,当您在设计窗格中拖放组件并然后使用连接器连接时,作业设计会将所有内容转换为代码并创建一个形成数据流的完整可运行程序。

创造就业机会

在存储库窗口中,右键单击作业设计,然后单击创建作业。

创造就业机会

提供作业的名称、目的和描述,然后单击“完成”。

职位描述

您可以看到您的作业已在作业设计下创建。

工作设计

现在,让我们使用此作业来添加组件、连接和配置它们。在这里,我们将一个 excel 文件作为输入,并使用相同的数据生成一个 excel 文件作为输出。

将组件添加到作业

调色板中有多个组件可供选择。还有一个搜索选项,您可以在其中输入组件的名称来选择它。

调色板

由于这里我们将 excel 文件作为输入,因此我们将 tFileInputExcel 组件从调色板拖放到设计器窗口。

设计师之窗

现在,如果您单击设计器窗口上的任意位置,将会出现一个搜索框。找到 tLogRow 并选择它以将其带入设计器窗口。

搜索框

最后,从调色板中选择 tFileOutputExcel 组件并将其拖放到设计器窗口中。

文件输出Excel

现在,组件的添加已经完成。

新工作

连接组件

添加组件后,必须连接它们。右键单击第一个组件 tFileInputExcel 并绘制一条到 tLogRow 的主线,如下所示。

连接部件

同样,右键单击 tLogRow 并在 tFileOutputExcel 上绘制一条主线。现在,您的组件已连接。

连接组件 绘制主线

配置组件

在作业中添加并连接组件后,您需要对其进行配置。为此,双击第一个组件 tFileInputExcel 进行配置。在文件名/流中给出输入文件的路径,如下所示。

如果Excel 中的第一行有列名称,请在“标题”选项中输入 1。

标题选项

单击编辑架构并根据您输入的 Excel 文件添加列及其类型。添加架构后单击“确定”。

添加架构

单击“是”。

传播

在 tLogRow 组件中,单击同步列并选择要从输入生成行的模式。这里我们选择基本模式,使用“,”作为字段分隔符。

进度信息

最后,在tFileOutputExcel组件中,给出要存储的文件名的路径

同步列

带有工作表名称的输出 excel 文件。单击同步列

执行工作

完成添加、连接和配置组件后,您就可以执行 Talend 作业了。单击运行按钮开始执行。

基本运行 日志行

您将在基本模式下看到带有“,”分隔符的输出。

基本模式

您还可以看到您的输出在您提到的输出路径中保存为 Excel。

输出路径

Talend - 元数据

元数据基本上是指关于数据的数据。它讲述了数据的内容、时间、原因、人物、地点、内容以及方式。在 Talend 中,元数据包含有关 Talend studio 中存在的数据的完整信息。元数据选项位于 Talend Open Studio 的存储库窗格内。

Talend 元数据下提供了各种来源,例如数据库连接、不同类型的文件、LDAP、Azure、Salesforce、Web 服务 FTP、Hadoop 集群以及更多选项。

Talend Open Studio 中元数据的主要用途是,您只需从存储库中的元数据面板中进行简单的拖放即可在多个作业中使用这些数据源。

元数据

Talend - 上下文变量

上下文变量是在不同环境中可以具有不同值的变量。您可以创建一个可以保存多个上下文变量的上下文组。您无需将每个上下文变量一一添加到作业中,只需将上下文组添加到作业中即可。

这些变量用于使代码生产做好准备。它意味着通过使用上下文变量,您可以在开发、测试或生产环境中移动代码,它将在所有环境中运行。

在任何作业中,您都可以转到“上下文”选项卡(如下所示)并添加上下文变量。

上下文变量

Talend - 管理作业

在本章中,我们将研究管理作业以及 Talend 中包含的相应功能。

激活/停用组件

激活/停用组件非常简单。您只需选择该组件,右键单击它,然后选择停用或激活该组件选项。

停用组件

导入/导出项目和构建作业

要从作业中导出项目,请右键单击作业设计中的作业,然后单击导出项目。

导入物品 导出项目

输入要将项目导出到的路径,然后单击“完成”。

输入路径

要从作业导入项目,请右键单击作业设计中的作业,然后单击导入项目。

右键单击导入项目

浏览要导入项目的根目录。

选中所有复选框并单击“完成”。

复选框

Talend - 处理作业执行

在本章中,让我们了解在 Talend 中处理作业执行。

要构建作业,请右键单击该作业并选择“构建作业”选项。

建立工作

提及要存档作业的路径,选择作业版本和构建类型,然后单击“完成”。

作业版本

如何在正常模式下运行作业

要在普通节点运行作业,需要选择“基本运行”,然后单击“运行”按钮开始执行。

正常模式

如何在调试模式下运行作业

要在调试模式下运行作业,请将断点添加到要调试的组件。

然后,选择并右键单击该组件,单击“添加断点”选项。请注意,这里我们已向 tFileInputExcel 和 tLogRow 组件添加了断点。然后,转到“调试运行”,然后单击“Java 调试”按钮。

调试模式

您可以从下面的屏幕截图中观察到,该作业现在将在调试模式下并根据我们提到的断点执行。

执行调试模式

高级设置

在高级设置中,您可以选择统计信息、执行时间、执行前保存作业、运行前清除和 JVM 设置。每个选项都具有此处解释的功能 -

  • 统计- 显示处理的性能率;

  • Exec Time - 执行作业所花费的时间。

  • 执行前保存作业- 在执行开始前自动保存作业。

  • 执行前的作业
  • 运行前清除- 从输出控制台中删除所有内容。

  • JVM 设置- 帮助我们配置自己的 Java 参数。

Talend - 大数据

Open Studio with Big data 的口号是“使用领先的免费开源大数据 ETL 工具简化 ETL 和 ELT”。在本章中,我们将探讨如何使用 Talend 作为大数据环境中的数据处理工具。

介绍

Talend Open Studio – 大数据是一款免费的开源工具,可在大数据环境中轻松处理数据。Talend Open Studio 中有大量可用的大数据组件,让您只需简单拖放几个 Hadoop 组件即可创建和运行 Hadoop 作业。

此外,我们不需要编写大行MapReduce代码;Talend Open Studio Big data 可帮助您使用其中的组件来实现此目的。它会自动为您生成MapReduce代码,您只需拖放组件并配置几个参数即可。

它还让您可以选择连接多个大数据发行版,例如 Cloudera、HortonWorks、MapR、Amazon EMR 甚至 Apache。

大数据 Talend 组件

下面显示了在大数据下包含的在大数据环境上运行作业的组件的类别列表 -

大数据

Talend Open Studio 中的大数据连接器和组件列表如下所示 -

  • tHDFSConnection - 用于连接到 HDFS(Hadoop 分布式文件系统)。

  • tHDFSInput - 从给定的 hdfs 路径读取数据,将其放入 talend 架构中,然后将其传递到作业中的下一个组件。

  • tHDFSList - 检索给定 hdfs 路径中的所有文件和文件夹。

  • tHDFSPut - 将文件/文件夹从本地文件系统(用户定义)复制到给定路径的 hdfs。

  • tHDFSGet - 将文件/文件夹从 hdfs 复制到给定路径的本地文件系统(用户定义)。

  • tHDFSDelete - 从 HDFS 删除文件

  • tHDFSExist - 检查 HDFS 上是否存在文件。

  • tHDFSOutput - 在 HDFS 上写入数据流。

  • tCassandraConnection - 打开与 Cassandra 服务器的连接。

  • tCassandraRow - 在指定数据库上运行 CQL(Cassandra 查询语言)查询。

  • tHBaseConnection - 打开与 HBase 数据库的连接。

  • tHBaseInput - 从 HBase 数据库读取数据。

  • tHiveConnection - 打开与 Hive 数据库的连接。

  • tHiveCreateTable - 在配置单元数据库内创建一个表。

  • tHiveInput - 从配置单元数据库读取数据。

  • tHiveLoad - 将数据写入 hive 表或指定目录。

  • tHiveRow - 在指定数据库上运行 HiveQL 查询。

  • tPigLoad - 将输入数据加载到输出流。

  • tPigMap - 用于在 Pig 进程中转换和路由数据。

  • tPigJoin - 根据连接键执行 2 个文件的连接操作。

  • tPigCoGroup - 对来自多个输入的数据进行分组和聚合。

  • tPigSort - 根据一个或多个定义的排序键对给定数据进行排序。

  • tPigStoreResult - 将猪操作的结果存储在定义的存储空间中。

  • tPigFilterRow - 过滤指定的列,以便根据给定条件分割数据。

  • tPigDistinct - 从关系中删除重复的元组。

  • tSqoopImport - 将数据从关系数据库(如 MySQL、Oracle DB)传输到 HDFS。

  • tSqoopExport - 将数据从 HDFS 传输到关系数据库,如 MySQL、Oracle DB

Talend - Hadoop 分布式文件系统

在本章中,让我们详细了解 Talend 如何与 Hadoop 分布式文件系统配合使用。

设置和先决条件

在继续使用 Talend with HDFS 之前,我们应该了解为此目的应满足的设置和先决条件。

这里我们在虚拟机上运行 Cloudera Quickstart 5.10 VM。此虚拟机中必须使用仅主机网络。

仅主机网络 IP:192.168.56.101

先决条件

您还必须在 cloudera manager 上运行相同的主机。

Cloudera管理器

现在,在 Windows 系统上,转到 c:\Windows\System32\Drivers\etc\hosts 并使用记事本编辑此文件,如下所示。

Windows系统

同样,在您的 cloudera 快速启动 VM 上,编辑 /etc/hosts 文件,如下所示。

sudo gedit /etc/hosts

主办方

设置 Hadoop 连接

在存储库面板中,转到元数据。右键单击 Hadoop Cluster 并创建一个新集群。给出此 Hadoop 集群连接的名称、用途和描述。

点击下一步。

Hadoop 连接

选择 cloudera 发行版并选择您正在使用的版本。选择检索配置选项并单击下一步。

Hadoop配置

输入管理器凭据(带有端口、用户名、密码的 URI),如下所示,然后单击“连接”。如果详细信息正确,您将在发现的集群下获得 Cloudera QuickStart。

经理资质

单击“获取”。这将获取 HDFS、YARN、HBASE、HIVE 的所有连接和配置。

选择全部并单击完成。

单击获取

请注意,所有连接参数都将自动填充。在用户名中提及 cloudera,然后单击完成。

连接参数

至此,您已成功连接到 Hadoop 集群。

Hadoop集群

连接到 HDFS

在此作业中,我们将列出 HDFS 上存在的所有目录和文件。

首先,我们将创建一个作业,然后向其中添加 HDFS 组件。右键单击 Job Design 并创建一个新作业 – hadoopjob。

现在从调色板添加 2 个组件 – tHDFSConnection 和 tHDFSList。右键单击 tHDFSConnection 并使用“OnSubJobOk”触发器连接这两个组件。

现在,配置两个 talend hdfs 组件。

连接HDFS

在 tHDFSConnection 中,选择 Repository 作为 Property Type,然后选择您之前创建的 Hadoop cloudera 集群。它将自动填写该组件所需的所有必要详细信息。

财产种类

在 tHDFSList 中,选择“使用现有连接”,然后在组件列表中选择您配置的 tHDFSConnection。

在HDFS Directory选项中给出HDFS的主路径,然后单击右侧的浏览按钮。

浏览按钮

如果您已通过上述配置正确建立连接,您将看到如下所示的窗口。它将列出 HDFS 主目录上存在的所有目录和文件。

HDFS浏览

您可以通过检查 cloudera 上的 HDFS 来验证这一点。

检查HDFS

从HDFS读取文件

在本节中,让我们了解如何在 Talend 中从 HDFS 读取文件。您可以为此目的创建一项新工作,但这里我们使用现有的工作。

将 3 个组件 – tHDFSConnection、tHDFSInput 和 tLogRow 从调色板拖放到设计器窗口。

右键单击 tHDFSConnection 并使用“OnSubJobOk”触发器连接 tHDFSInput 组件。

右键单击 tHDFSInput 并将主链接拖动到 tLogRow。

读取文件

请注意,tHDFSConnection 将具有与之前类似的配置。在 tHDFSInput 中,选择“使用现有连接”,然后从组件列表中选择 tHDFSConnection。

在文件名中,给出要读取的文件的 HDFS 路径。这里我们正在读取一个简单的文本文件,因此我们的文件类型是文本文件。同样,根据您的输入,填写行分隔符、字段分隔符和标题详细信息,如下所述。最后,单击编辑架构按钮。

编辑架构按钮

由于我们的文件只有纯文本,因此我们只添加一列字符串类型。现在,单击“确定”。

注意- 当您的输入具有不同类型的多个列时,您需要在此处相应地提及架构。

多列

在 tLogRow 组件中,单击编辑架构中的同步列。

选择您希望打印输出的模式。

选择模式

最后,单击“运行”来执行作业。

成功读取 HDFS 文件后,您可以看到以下输出。

成功阅读

将文件写入HDFS

让我们看看如何在 Talend 中从 HDFS 写入文件。将 3 个组件 – tHDFSConnection、tFileInputDelimited 和 tHDFSOutput 从选项板拖放到设计器窗口。

右键单击 tHDFSConnection 并使用“OnSubJobOk”触发器连接 tFileInputDelimited 组件。

右键单击 tFileInputDelimited 并将主链接拖动到 tHDFSOutput。

主链接

请注意,tHDFSConnection 将具有与之前类似的配置。

现在,在 tFileInputDelimited 中,在“文件名/流”选项中给出输入文件的路径。这里我们使用 csv 文件作为输入,因此字段分隔符是“,”。

根据您的输入文件选择页眉、页脚、限制。请注意,这里的标头为 1,因为第 1 行包含列名称,限制为 3,因为我们只将前 3 行写入 HDFS。

现在,单击编辑架构。

选择标题

现在,根据我们的输入文件,定义架构。我们的输入文件有 3 列,如下所述。

输入文件

在 tHDFSOutput 组件中,单击同步列。然后,在“使用现有连接”中选择“tHDFSConnection”。另外,在文件名中,提供要写入文件的 HDFS 路径。

请注意,文件类型为文本文件,操作为“create”,行分隔符为“\n”,字段分隔符为“;”

行分隔符

最后,单击“运行”来执行您的作业。作业成功执行后,检查您的文件是否位于 HDFS 上。

执行成功

使用您在作业中提到的输出路径运行以下 hdfs 命令。

hdfs dfs -cat /input/talendwrite

如果成功在 HDFS 上写入,您将看到以下输出。

写作成功

Talend - 地图缩减

在上一章中,我们了解了 Talend 如何与大数据配合使用。在本章中,让我们了解如何将 MapReduce 与 Talend 结合使用。

创建 Talend MapReduce 作业

让我们学习如何在 Talend 上运行 MapReduce 作业。在这里,我们将运行一个 MapReduce 字数统计示例。

为此,右键单击“作业设计”并创建一个新作业 - MapreduceJob。提及作业的详细信息并单击“完成”。

映射减少作业

向 MapReduce 作业添加组件

要将组件添加到 MapReduce 作业,请将 Talend 的五个组件 – tHDFSInput、tNormalize、tAggregateRow、tMap、tOutput 从托盘拖放到设计器窗口。右键单击 tHDFSInput 并创建 tNormalize 的主链接。

右键单击 tNormalize 并创建指向 tAggregateRow 的主链接。然后,右键单击 tAggregateRow 并创建指向 tMap 的主链接。现在,右键单击 tMap 并创建指向 tHDFSOutput 的主链接。

添加组件 MapReduce

配置组件和转换

在 tHDFSInput 中,选择发行版 cloudera 及其版本。请注意,Namenode URI 应为“hdfs://quickstart.cloudera:8020”,用户名应为“cloudera”。在文件名选项中,指定 MapReduce 作业的输入文件的路径。确保此输入文件存在于 HDFS 上。

现在,根据您的输入文件选择文件类型、行分隔符、文件分隔符和标题。

转换

单击编辑架构并将字段“line”添加为字符串类型。

字符串类型

在 tNomalize 中,要规范化的列将为行,项目分隔符将为空格 -> “ “。现在,单击编辑架构。tNormalize 将具有行列,tAggregateRow 将具有 2 列单词和字数,如下所示。

标准化 聚合行

在 tAggregateRow 中,将单词作为 Group by 选项中的输出列。在操作中,将字数作为输出列,将函数作为计数,将输入列位置作为行。

字数

现在双击 tMap 组件进入映射编辑器并将输入映射到所需的输出。在此示例中,单词与单词映射,单词计数与单词计数映射。在表达式栏中,单击[...]进入表达式生成器。

现在,从类别列表和 UPCASE 函数中选择 StringHandling。将表达式编辑为“StringHandling.UPCASE(row3.word)”,然后单击“确定”。将 row3.wordcount 保留在与 wordcount 对应的表达式列中,如下所示。

字符串处理

在 tHDFSOutput 中,连接到我们从属性类型创建的 Hadoop 集群作为存储库。观察字段将被自动填充。在文件名中,指定要存储输出的输出路径。保留操作、行分隔符和字段分隔符,如下所示。

字段分隔符

执行MapReduce作业

成功完成配置后,单击“运行”并执行您的 MapReduce 作业。

配置成功

转到 HDFS 路径并检查输出。请注意,所有单词都将以其字数显示为大写。

HDFS路径

Talend - 与 Pig 一起工作

在本章中,让我们学习如何在 Talend 中使用 Pig 作业。

创建 Talend Pig 作业

在本节中,我们将学习如何在 Talend 上运行 Pig 作业。在这里,我们将处理 NYSE 数据以找出 IBM 的平均库存量。

为此,右键单击“作业设计”并创建一个新作业 - Pigjob。提及作业的详细信息并单击“完成”。

人才猪工作

向 Pig Job 添加组件

要将组件添加到 Pig 作业,请将四个 Talend 组件:tPigLoad、tPigFilterRow、tPigAggregate、tPigStoreResult 从托盘拖放到设计器窗口。

然后,右键单击 tPigLoad 并创建 Pig 组合线到 tPigFilterRow。接下来,右键单击 tPigFilterRow 并创建 Pig 组合线到 tPigAggregate。右键单击 tPigAggregate 并创建 Pig 组合线到 tPigStoreResult。

添加猪作业

配置组件和转换

在 tPigLoad 中,提及 cloudera 的发行版以及 cloudera 的版本。请注意,Namenode URI 应为“hdfs://quickstart.cloudera:8020”,资源管理器应为“quickstart.cloudera:8020”。另外,用户名应该是“cloudera”。

在输入文件 URI 中,将 NYSE 输入文件的路径提供给 Pig 作业。请注意,此输入文件应存在于 HDFS 上。

纽约证券交易所输入

单击编辑架构,添加列及其类型,如下所示。

编辑架构

在 tPigFilterRow 中,选择“使用高级过滤器”选项并将“stock_symbol = = 'IBM'”放入过滤器选项中。

过滤器选项

在 tAggregateRow 中,单击编辑架构并在输出中添加 avg_stock_volume 列,如下所示。

平均库存量

现在,将 stock_exchange 列放入 Group by 选项中。在操作字段中添加 avg_stock_volume 列,并使用 count 函数和 stock_exchange 作为输入列。

股票交易

在 tPigStoreResult 中,在结果文件夹 URI 中给出要存储 Pig 作业结果的输出路径。选择存储函数为 PigStorage,字段分隔符(非强制)为“\t”。

生猪储存

执行养猪工作

现在单击“运行”来执行 Pig 作业。(忽略警告)

执行养猪工作

作业完成后,前往您提到的用于存储 Pig 作业结果的 HDFS 路径检查输出。IBM 的平均库存量为 500 件。

储存猪

Talend-Hive

在本章中,让我们了解如何在 Talend 上使用 Hive 作业。

创建 Talend Hive 作业

例如,我们将 NYSE 数据加载到 Hive 表并运行基本的 Hive 查询。右键单击“Job Design”并创建一个新作业 - hivejob。提及作业的详细信息,然后单击“完成”。

蜂巢工作

向 Hive 作业添加组件

要将组件分配给 Hive 作业,请将五个 talend 组件 - tHiveConnection、tHiveCreateTable、tHiveLoad、tHiveInput 和 tLogRow 从托盘拖放到设计器窗口。然后,右键单击 tHiveConnection 并为 tHiveCreateTable 创建 OnSubjobOk 触发器。现在,右键单击 tHiveCreateTable 并为 tHiveLoad 创建 OnSubjobOk 触发器。右键单击 tHiveLoad 并在 tHiveInput 上创建迭代触发器。最后,右键单击 tHiveInput 并创建一条主线到 tLogRow。

添加组件

配置组件和转换

在 tHiveConnection 中,选择 distribution 作为 cloudera 以及您正在使用的版本。请注意,连接模式将为独立模式,Hive 服务将为 Hive 2。另请检查以下参数是否已相应设置 -

  • 主持人:“quickstart.cloudera”
  • 端口:“10000”
  • 数据库:“默认”
  • 用户名:“蜂巢”

请注意,密码将自动填写,您无需编辑它。其他 Hadoop 属性也将默认预设和设置。

配置组件

在 tHiveCreateTable 中,选择“使用现有连接”并将 tHiveConnection 放入“组件”列表中。给出您要在默认数据库中创建的表名称。保留其他参数,如下所示。

Hive 创建表

在tHiveLoad中,选择“使用现有连接”并将tHiveConnection放入组件列表中。在加载操作中选择加载。在文件路径中,提供 NYSE 输入文件的 HDFS 路径。在“表名称”中提及要在其中加载输入的表。保留其他参数,如下所示。

现有连接

在 tHiveInput 中,选择“使用现有连接”并将 tHiveConnection 放入“组件”列表中。单击编辑架构,添加列及其类型,如下面的架构快照所示。现在给出您在 tHiveCreateTable 中创建的表名称。

将查询放入要在 Hive 表上运行的查询选项中。在这里,我们打印测试配置单元表中前 10 行的所有列。

蜂巢连接 tHiveInput 的架构

在 tLogRow 中,单击同步列并选择表模式来显示输出。

桌面模式

执行 Hive 作业

单击“运行”开始执行。如果所有连接和参数均设置正确,您将看到查询的输出,如下所示。

执行 Hive 作业