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 作业