您的位置:首页 > 运维架构 > Apache

Apache Beam Java SDK 快速开始

2017-02-08 00:00 567 查看
摘要:本快速入门将指导您完成第一个Beampipeline,以便在您选择的runner上运行使用Beam的JavaSDK编写的WordCount。

原文链接:http://blog.geekidentity.com/beam/apache_beam_java_SDK_quickstart/

本快速入门将指导您完成第一个Beampipeline,以便在您选择的runner上运行使用Beam的JavaSDK编写的WordCount。

设置开发环境

获取WordCount代码

运行WordCount

检查结果

下一步

设置开发环境

下载并安装Java开发工具包(JDK)1.7或更高版本。验证是否已设置JAVA_HOME环境变量并指向JDK安装目录。

按照指定操作系统的Maven安装指南,下载并安装ApacheMaven。

获取WordCount代码

获取WordCountpipeline拷贝的最简单方法是使用以下命令生成一个简单的Maven项目,其中包含Beam的WordCount示例,并针对最新的Beam版本进行构建:

1
2
3
4
5
6
7
8
9
10
$mvnarchetype:generate\
-DarchetypeRepository=https://repository.apache.org/content/groups/snapshots\
-DarchetypeGroupId=org.apache.beam\
-DarchetypeArtifactId=beam-sdks-java-maven-archetypes-examples\
-DarchetypeVersion=LATEST\
-DgroupId=org.example\
-DartifactId=word-count-beam\
-Dversion="0.1"\
-Dpackage=org.apache.beam.examples\
-DinteractiveMode=false
Maven将创建目录word-count-beam,其中包含一个简单的pom.xml和一系列示例pipelines,用于文本文件中的字进行计数。

1
2
3
4
5
6
7
8
$cdword-count-beam/
$ls
pom.xmlsrc
$lssrc/main/java/org/apache/beam/examples/
DebuggingWordCount.javaWindowedWordCount.javacommon
MinimalWordCount.javaWordCount.java
有关这些示例中使用的Beam概念的详细介绍,请参见WordCount示例演练。这里,我们只关注执行WordCount.java。

运行WordCount

单个Beampipeline可以在Beamrunners上运行,包括ApexRunner,FlinkRunner,SparkRunner和DataflowRunner.。DirectRunner是一个常用的入门指南,因为它在本地运行,不需要特殊的设置。

在选择要使用的runner之后:

确保已完成任何特定于runner的设置。

构建命令行:

使用–runner=(默认为DirectRunner)指定特定runner

添加runner运行所需的选项

选择runner可以访问的输入文件和输出位置。(例如,如果正在外部集群上运行pipeline,则无法访问本地文件。)

运行你的第一个WordCountpipeline。

以Spark为例(其他示例请看官网文档):

1
2
$mvncompileexec:java-Dexec.mainClass=org.apache.beam.examples.WordCount\
-Dexec.args="--runner=SparkRunner--inputFile=pom.xml--output=counts"-Pspark-runner

检查结果

一旦pipeline完成,你可以查看输出。你会注意到可能有多个输出文件以count为前缀。这些文件的确切数目由运行程序决定,使其能够灵活地执行高效的分布式执行。

1
$lscounts*
当您查看文件的内容时,您会看到它们包含唯一字词和每个字词的出现次数。文件中的元素的顺序可能不同,因为beam模型通常不保证排序,以再次允许runner优化效率。

1
2
3
4
5
6
7
8
9
10
$morecounts*
beam:27
SF:1
fat:1
job:1
limitations:1
require:1
of:11
profile:10
...

下一步

WordCount示例演练中了解有关这些WordCount示例的更多信息。

深入了解我们最喜欢的文章和演示文稿。

加入Beam用户@邮件列表。

如果您遇到任何问题,请随时与我们联系!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息