当前位置:首页 期刊杂志

基于Apache Beam的大数据实验教学方案的设计

时间:2024-05-04

申海杰 田新志 陈晓范

摘要:為提供具有前沿性的计算机课程实验,针对新一代大数据技术,设计并实现了基于Apache Beam的大数据实验教学方案。该方案在可以使学生们清楚地了解 Beam 的运用原理。

关键词:大数据;Apache Beam;实验教学

中图分类号:G424        文献标识码:A        文章编号:1009-3044(2019)01-0158-02

1 引言

随着大数据 2.0 时代悄然到来,大数据从简单的批处理扩展到了实时处理、流处理、交互式查询和机器学习应用。早期的处理模型 (Map/Reduce) 早已经力不从心,而且也很难应用到处理流程长且复杂的数据流水线上。面对这种情况,Google 在 2017 年 5 月2发布了其开源大数据流水线产品Apache Beam的第一个稳定版本 2.0.0[1]。

Apache Beam是一个开源的统一的编程模型,我们可以使用它来创建数据处理管道。Beam对于尴尬并行数据处理任务特别有用,其中问题可以被分解为可以独立和并行处理的许多较小的数据束[2]。

2 实验方案

为了让学生有效地了解和掌握Beam的运行原理,我们精心设计了实验方案,精简地说明如下。

本实验方案通过在选定一个的 runner 上运行一个由 Beam 的 Java SDK 编写的 WordCount 示例,演示Beam 的运用原理。

第一步是搭建一个管道(Pipeline)。

第二步是让管道有一个处理框架,也就是Runtimes 。

第三步也是 Beam 最后一个重要的地方,就是模型 (Model),通俗点讲就是我们的数据来源。

最后一步是处理结果,实验者可以根据自己的需求处理。

2.1 配置开发环境

第一步 ,从网上下载并安装 Java Development Kit (JDK) 1.7 或更高版本。并配置 JAVA_HOME 环境变量,确认已经设置并指向 JDK 安装目录。如图1所示。

第二步,按照 Maven 的 安装指南 下载并安装适合JDK所在的操作系统的 Apache Maven 。这个步骤,安装的界面较多,这里就不赘述了。

2.2 实验代码

获得一份 WordCount 管线代码拷贝最简单的方法,就是使用下列指令来生成一个简单的、包含基于 Beam 最新版的 WordCount 示例和构建的 Maven 项目,操作指令如图2所示。

2.3 运行实例

一个单 Beam 管线可以运行于多种 Beam runner 上,包括 ApexRunner、FlinkRunner、SparkRunner 或 DataflowRunner 等[3]。

用 --runner=<runner> 选项指定选定的 runner (缺省为 DirectRunner)

运行WordCount 管线。

2.4 实验结果

管线完成运行的结果会发现生成多个以 count 打头的输出文件。具体会有几个这样的文件是由 runner 决定的。这样能方便 runner 进行高效的分布式执行。当查看文件内容的时候,会看到里面包含每个单词的出现数量。文件中的元素顺序可能会和这里看到的不同。因为 Beam 模型通常并不保障顺序,以便于 runner 优化效率[4]。

3 结束语

通过以上实验可以看到,利用 Beam 的模型,不需要编写复杂的逻辑,就可以灵活地/优雅地处理流处理计算过程中出现的一些棘手场景。Apache Beam 是集成了很多数据模型的一个统一化平台,它为大数据开发人员频繁换数据源或多数据源、多计算框架提供了集成统一框架平台。

参考文献:

[1]  Apache Beam Team. Apache Beam Quickstart.[EB/OL].(2017-3-21). https://beam.apache.org/get-started/quickstart-java/

[2]  Apache Beam实战指南之基础入门[EB/OL].(2017-10-9). https://juejin.im/entry/59db31806fb9a00a53279ca6

[3]  Google 大数据引擎 Apache Beam Java SDK 快速入门[EB/OL].(2017-1-23). https://www.jianshu.com/p/283a8c8edef7

[4] Beam从零开始.[EB/OL].(2017-1-19). https://blog.csdn.net/qq_23660243/article/details/54614167

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!