原文链接 : http://zeppelin.apache.org/docs/0.7.2/interpreter/flink.html

译文链接 : http://cwiki.apachecn.org/pages/viewpage.action?pageId=10030795

贡献者 : 片刻 ApacheCN Apache中文网

概述

Apache Flink是分布式流和批处理数据处理的开源平台。Flink的核心是流数据流引擎,为数据流上的分布式计算提供数据分发,通信和容错。Flink还在流式引擎之上构建批处理,覆盖本机迭代支持,托管内存和程序优化。

Zeppelin配有预配置的flink-local解释器,它在您的机器上以本地模式启动Flink,因此您不需要安装任何东西。

在“解释器”菜单中,您必须创建一个新的Flink解释器并提供下一个属性:

属性描述
hostlocal运行JobManager的主机名。'local'在本地模式下运行flink(默认)
port6123运行JobManager的端口

有关Flink配置的更多信息,可以在这里找到。

如何测试它的工作

您可以在Zeppelin Tutorial文件夹中找到Flink使用的示例,或者尝试以下字数计数示例,方法是使用Till Rohrmann演示文稿中的Zeppelin笔记本 与Apache Flink for Apache Flink Meetup进行交互式数据分析

  1. %sh
  2. rm 10.txt.utf-8
  3. wget http://www.gutenberg.org/ebooks/10.txt.utf-8
  4.  
  5.  
  6. %flink
  7. case class WordCount(word: String, frequency: Int)
  8. val bible:DataSet[String] = benv.readTextFile("10.txt.utf-8")
  9. val partialCounts: DataSet[WordCount] = bible.flatMap{
  10. line =>
  11. """\b\w+\b""".r.findAllIn(line).map(word => WordCount(word, 1))
  12. // line.split(" ").map(word => WordCount(word, 1))
  13. }
  14. val wordCounts = partialCounts.groupBy("word").reduce{
  15. (left, right) => WordCount(left.word, left.frequency + right.frequency)
  16. }
  17. val result10 = wordCounts.first(10).collect()