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 创建主线。

添加组件

配置组件和转换

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

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

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

配置组件

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

Hive Create Table

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

现有连接

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

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

Hive Connection Schema_of_tHiveInput

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

表格模式

执行 Hive 作业

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

Executing Hive Job