在本章中,让我们了解如何在Talend上使用Hive作业.
创建Talend Hive作业
举个例子,我们将NYSE数据加载到配置单元表并运行基本的配置单元查询.右键单击Job Design并创建一个新作业 - hivejob.提及作业的详细信息,然后单击"完成".
将组件添加到Hive作业
要将组件分配到Hive作业,请拖放五个talend组件 : 从托盘到设计器窗口的tHiveConnection,tHiveCreateTable,tHiveLoad,tHiveInput和tLogRow.然后,右键单击tHiveConnection并将onSubjobOk触发器创建为tHiveCreateTable.现在,右键单击tHiveCreateTable并为tHiveLoad创建OnSubjobOk触发器.右键单击tHiveLoad并在tHiveInput上创建迭代触发器.最后,右键单击tHiveInput并为tLogRow创建一个主线.
配置组件和转换
在tHiveConnection中,选择分发为cloudera及其正在使用的版本.请注意,连接模式将是独立的,Hive Service将是Hive 2.还要检查是否相应地设置了以下参数 :
主机:"quickstart.cloudera"
端口:"10000"
数据库:"默认"
用户名:"hive"
请注意,密码将自动填写,您无需编辑.默认情况下,还会预设和设置其他Hadoop属性.
在tHiveCreateTable中,选择"使用现有连接"并将"tHiveConnection"放入"组件"列表中.在默认数据库中提供要创建的表名.保留其他参数,如下所示.
In tHiveLoad,选择"使用现有连接"并将tHiveConnection放入组件列表中.在Load action中选择LOAD.在"文件路径"中,提供NYSE输入文件的HDFS路径.提及表名中的表,您要在其中加载输入.保持其他参数如下所示.
在tHiveInput中,选择使用现有连接并将tHiveConnection放入组件列表中.单击编辑模式,添加列及其类型,如下面的模式快照中所示.现在给出你在tHiveCreateTable中创建的表名.
将查询放在要在Hive表上运行的查询选项中.这里我们打印测试配置单元表中前10行的所有列.
在tLogRow中,单击同步列并选择表格模式以显示输出.
执行Hive作业
单击"运行"开始执行.如果所有连接和参数都设置正确,您将看到如下所示的查询输出.