在本教程中,您将学习如何创建一个在YARN上运行的大数据批次作业、从HDFS读取数据、对其进行排序并在控制台中显示最终结果。
本教程使用Talend Data Fabric Studio v6和Hadoop集群:Cloudera CDH v5.4。
本教程复用了标题为Talend 创建集群连接元数据教程中创建的HDFS连接元数据。
1 使用MapReduce框架新建大数据批次作业
对于大数据处理,TalendStudio允许您创建在Spark或MapReduce上运行的批次(Batch)作业和流(Streaming)作业。在这种情况下,您将创建一个在MapReduce上运行的大数据量的批次作业。
1)选择集成透视图。
2)要确保您已在项目存储库中创建了Hadoop集群连接和HDFS连接元数据,请展开Hadoop集群。
3)在Repository中,展开JobDesigns,右键单击BigDataBatch,然后单击CreateBigDataBatchJob。
4)在“名称”字段中,输入ReadHDFS_YARN。从框架列表中,选择MapReduce。在“用途”字段中,输入读取客户数据并对其进行排序,在“描述”字段中,输入从YARN上运行的大数据批次理作业中读取存储在HDFS中的客户数据并对其进行排序,然后单击完成。
此时可以在“作业设计>大数据批处理”下的存储库中找到新建好的作业,并在作业设计器中将其打开。
2 从HDFS读取数据并配置在YARN上执行
注意:对于在YARN上运行的作业,tFileInputDelimited组件允许您从HDFS读取数据。您将配置此组件以读取您的数据。
1)从存储库中,在“元数据>HadoopCluster>MyHadoopCluster>HDFS”下,单击MyHadoopCluster_HDFS并将其拖动到作业设计器。在组件列表中,选择tFileInputDelimited并单击确定。Hadoop配置更新确认窗口打开。
2)点击确定,允许Studio更新Hadoop配置以使其对应于您的集群元数据。
3)在Run视图中,单击HadoopConfiguration并查看执行是否已使用存储库中可用的HDFS连接元数据进行配置。
现在,您可以从HDFS读取数据,并且您的作业已配置为在集群上执行。
3 配置tFileInputDelimited组件并从HDFS读取您的数据
客户数据作为分隔文件存储在HDFS上。您可以配置tFileInputDelimited组件来读取数据。
1)双击tFileInputDelimited组件,打开组件视图。
2)点击编辑模式,打开模式编辑器。
3)将列添加到模式中:单击三次[+]并输入字段名称CustomerID、FirstName和LastName。
4)更改CustomerID列的类型:单击该字段并单击Integer。单击确定以保存模式。
5)点击“文件夹/文件”字段旁边的[…],浏览找到对应的文件路径,然后点击“确定”。
tFileInputDelimited组件现在配置为从HDFS读取客户数据,同时也支持其他文件类型,例如AVRO、JSON和XML,并且不必为分隔文件。
4 根据客户ID值对客户数据进行升序排序
1)添加一个tSortRow。
2)使用Main将名为MyHadoopCluster_HDFS的tFileInputDelimited组件连接到tSortRow组件。
3)双击tSortRow组件,打开组件视图。
4)单击同步列配置模式。
5)向Criteria表添加新条件:单击Schema列中的[+];选择CustomerID。选择按“num”进行排序,并在Orderasc/desc中,选择asc,即按数字字符进行升序排序。
现在已配置tSortRow组件。
5 使用tLogRow组件在控制台显示排序结果
1)添加一个tLogRow组件并使用Main将其连接到tSortRow组件。
2)双击tLogRow组件,打开组件视图。
3)在“模式”面板中,选择“表格”。
您的作业现在可以运行了。它将从HDFS读取数据,并对其进行排序,最终结果将显示在控制台中。
评论区(0)