天天看点

Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结

Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结

<a href="https://beam.apache.org/get-started/quickstart-java/#set-up-your-development-environment">Set up your Development Environment</a>

<a href="https://beam.apache.org/get-started/quickstart-java/#get-the-wordcount-code">Get the WordCount Code</a>

<a href="https://beam.apache.org/get-started/quickstart-java/#run-wordcount">Run WordCount</a>

<a href="https://beam.apache.org/get-started/quickstart-java/#inspect-the-results">Inspect the results</a>

<a href="https://beam.apache.org/get-started/quickstart-java/#next-steps">Next Steps</a>

  我这里为了方便大家快速入手,翻译并整理为中文。

  本博文通过使用 Java SDK 来完成,你可以尝试运行在不同的执行引擎上。

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

  Apache Beam 的源代码在 Github 有托管,可以到 Github 下载对应的源码,下载地址:https://github.com/apache/beam

  然后,将其中的示例代码进行打包,命令如下所示:(这是最新稳定版本)(所以一般用这个)

Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结

  这是官网推荐的

Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结

  那是因为,最新的Bean为2.1.0。  

  这将创建一个叫 <code>word-count-beam</code> 的目录,其中包含了一份简单的 <code>pom.xml</code> 文件和一套示例管线,用来计算某个文本文件中的各个单词的数量。

Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结

  一个 Beam 程序可以运行在多个 Beam 的可执行引擎上,包括 ApexRunner,FlinkRunner,SparkRunner 或者 DataflowRunner。 另外还有 DirectRunner。不需要特殊的配置就可以在本地执行,方便测试使用。

  下面,你可以按需选择你想执行程序的引擎,即哪个runner后:

对引擎进行相关配置,确保你已经正确配置了该runner。

使用不同的命令:通过 --runner=&lt;runner&gt;参数指明引擎类型,默认是 DirectRunner;添加引擎相关的参数;指定输出文件和输出目录,当然这里需要保证文件目录是执行引擎可以访问到的,比如本地文件目录是不能被外部集群访问的。

运行示例程序,你的第一个WordCount 管线。

Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结

  然后,你可以通过访问 http://&lt;flink master&gt;:8081 来监测运行的应用程序。

  当程序运行完成后,你可以看到有多个文件以 count 开头,个数取决于执行引擎的类型。当你查看文件的内容的时候,每个唯一的单词后面会显示其出现次数,但是前后顺序是不固定的,也是分布式引擎为了提高效率的一种常用方式。

   一旦管线完成运行,你可以查看结果。你会注意到有多个以 <code>count</code> 打头的输出文件。具体会有几个这样的文件是由 runner 决定的。这样能方便 runner 进行高效的分布式执行。

  当你查看文件内容的时候,你会看到里面包含每个单词的出现数量。文件中的元素顺序可能会和这里看到的不同。因为 Beam 模型通常并不保障顺序,以便于 runner 优化效率。

Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结
Beam编程系列之Java SDK Quickstart(官网的推荐步骤)Apache Beam Java SDK Quickstart总结

  Apache Beam 主要针对理想并行的数据处理任务,并通过把数据集拆分多个子数据集,让每个子数据集能够被单独处理,从而实现整体数据集的并行化处理。当然,也可以用 Beam 来处理抽取,转换和加载任务和数据集成任务(一个ETL过程)。进一步将数据从不同的存储介质中或者数据源中读取,转换数据格式,最后加载到新的系统中。

本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/7610005.html,如需转载请自行联系原作者

继续阅读