Flink 解释器
原文链接 : http://zeppelin.apache.org/docs/0.7.2/interpreter/flink.html
译文链接 : http://www.apache.wiki/pages/viewpage.action?pageId=10030795
概述
Apache Flink是分布式流和批处理数据处理的开源平台。Flink的核心是流数据流引擎,为数据流上的分布式计算提供数据分发,通信和容错。Flink还在流式引擎之上构建批处理,覆盖本机迭代支持,托管内存和程序优化。
如何启动本地Flink群集,来测试解释器
Zeppelin配有预配置的flink-local解释器,它在您的机器上以本地模式启动Flink,因此您不需要安装任何东西。
如何配置解释器来指向Flink集群
在“解释器”菜单中,您必须创建一个新的Flink解释器并提供下一个属性:
属性 | 值 | 描述 |
---|---|---|
host | local | 运行JobManager的主机名。’local’在本地模式下运行flink(默认) |
port | 6123 | 运行JobManager的端口 |
有关Flink配置的更多信息,可以在这里找到。
如何测试它的工作
您可以在Zeppelin Tutorial文件夹中找到Flink使用的示例,或者尝试以下字数计数示例,方法是使用Till Rohrmann演示文稿中的Zeppelin笔记本 与Apache Flink for Apache Flink Meetup进行交互式数据分析。
%sh
rm 10.txt.utf-8
wget http://www.gutenberg.org/ebooks/10.txt.utf-8
%flink
case class WordCount(word: String, frequency: Int)
val bible:DataSet[String] = benv.readTextFile("10.txt.utf-8")
val partialCounts: DataSet[WordCount] = bible.flatMap{
line =>
"""\b\w+\b""".r.findAllIn(line).map(word => WordCount(word, 1))
// line.split(" ").map(word => WordCount(word, 1))
}
val wordCounts = partialCounts.groupBy("word").reduce{
(left, right) => WordCount(left.word, left.frequency + right.frequency)
}
val result10 = wordCounts.first(10).collect()