Apache Beam Java SDK怎么配置
更新:HHH   时间:2023-1-7


这篇文章主要介绍“Apache Beam Java SDK怎么配置”,在日常操作中,相信很多人在Apache Beam Java SDK怎么配置问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Apache Beam Java SDK怎么配置”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

  • 设置开发环境

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

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

获取WordCount代码

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

 

1

2

3

4

5

6

7

8

9

10

 

$ mvn archetype: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

 

$ cd word-count-beam/

$ ls

pom.xml src

$ ls src/main/java/org/apache/beam/examples/

DebuggingWordCount.java WindowedWordCount.java common

MinimalWordCount.java WordCount.java

有关这些示例中使用的Beam概念的详细介绍,请参见WordCount示例演练。 这里,我们只关注执行WordCount.java。

运行WordCount

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

在选择要使用的runner 之后:

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

  2. 构建命令行:

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

    2. 添加runner 运行所需的选项

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

  3. 运行你的第一个WordCount pipeline。

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

 

1

2

 

$ mvn compile exec:java -Dexec.mainClass=org.apache.beam.examples.WordCount \

-Dexec.args="--runner=SparkRunner --inputFile=pom.xml --output=counts" -Pspark-runner

检查结果

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

 

1

 

$ ls counts*

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

 

1

2

3

4

5

6

7

8

9

10

 

$ more counts*

beam: 27

SF: 1

fat: 1

job: 1

limitations: 1

require: 1

of: 11

profile: 10

...

到此,关于“Apache Beam Java SDK怎么配置”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注天达云网站,小编会继续努力为大家带来更多实用的文章!

返回云计算教程...