Talend 简明教程

Talend - Hive

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

Creating a Talend Hive Job

作为一个示例,我们将 NYSE 数据加载到 Hive 表中,并运行基本的 Hive 查询。右键单击“作业设计”并创建新的作业 – hivejob。提及作业详情并单击“完成”。

hive job

Adding Components to Hive Job

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

adding components

Configuring Components and Transformations

在 tHiveConnection 中,选择分布为 cloudera 以及您正在使用的版本。请注意,连接模式将是独立的,Hive 服务将是 Hive 2。还要检查是否相应地设置了以下参数:

  1. Host: “quickstart.cloudera”

  2. Port: “10000”

  3. Database: “default”

  4. Username: “hive”

请注意,密码将自动填充,您无需编辑它。此外,其他 Hadoop 属性将预设并在默认情况下设置。

configuring components

在 tHiveCreateTable 中,选择 Use an existing connection 并将 tHiveConnection 放到组件列表中。指定要在默认数据库中创建的表名称。保持其他参数如下所示。

hivecreatetable

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

existing connection

在 tHiveInput 中,选择使用现有连接并将 tHiveConnection 放在组件列表中。单击编辑模式,添加列及其类型,如下面的模式快照所示。现在提供在 tHiveCreateTable 中创建的表名。

在查询选项中放置要对 Hive 表上运行的查询。这里我们在测试 Hive 表中打印了前 10 行的所有列。

hiveconnection
schema of thiveinput

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

table mode

Executing the Hive Job

单击运行以开始执行。如果所有连接和参数设置正确,您将看到查询结果,如下所示。

executing hive job