Talend - Hive



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

创建 Talend Hive 作业

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

Hive Job

向 Hive 作业添加组件

要向 Hive 作业添加组件,请从调色板中拖放五个 Talend 组件 - tHiveConnection、tHiveCreateTable、tHiveLoad、tHiveInput 和 tLogRow 到设计器窗口。然后,右键单击 tHiveConnection 并创建到 tHiveCreateTable 的 OnSubjobOk 触发器。现在,右键单击 tHiveCreateTable 并创建到 tHiveLoad 的 OnSubjobOk 触发器。右键单击 tHiveLoad 并创建到 tHiveInput 的迭代触发器。最后,右键单击 tHiveInput 并创建到 tLogRow 的主线。

Adding Components

配置组件和转换

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

  • 主机:“quickstart.cloudera”
  • 端口:“10000”
  • 数据库:“default”
  • 用户名:“hive”

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

Configuring Components

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

Hive Create Table

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

Existing  Connection

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

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

Hive Connection Schema_of_tHiveInput

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

Table Mode

执行 Hive 作业

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

Executing Hive Job
广告