构建Flink工程及demo演示

Posted Spark高级玩法

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建Flink工程及demo演示相关的知识,希望对你有一定的参考价值。

1,要求

Maven 3.0.4以上版本

Java 7.x以上版本

2,构建maven工程

mvn archetype:generate                               \
-DarchetypeGroupId=org.apache.flink              \
-DarchetypeArtifactId=flink-quickstart-scala     \
-DarchetypeVersion=1.3.2

允许你重新给你的工程命名,执行该命令后需要输入groupId, artifactId, and package名。

 

3,检查导入项目

可以在生成的目录下查看工程目录结构

可以将该maven工程导入你的IDE编辑器。对于Eclipse,需要下面的几个插件,可以在线安装。

1),Eclipse 4.x

a) Scala IDE : http://download.scala-ide.org/sdk/lithium/e44/scala211/stable/site

b) m2eclipse-scala :  http://alchim31.free.fr/m2e-scala/update-site

c) BuildHelper Maven Plugin :

https://repo1.maven.org/maven2/.m2e/connectors/m2eclipse-buildhelper/0.15.0/N/0.15.0.201207090124/

2),Eclipse 3.8

a) Scala IDE for Scala 2.11 :

http://download.scala-ide.org/sdk/helium/e38/scala211/stable/site

Scala IDE for Scala 2.10 :

http://download.scala-ide.org/sdk/helium/e38/scala210/stable/site

b)  m2eclipse-scala :

http://alchim31.free.fr/m2e-scala/update-site

c)Build Helper Maven Plugin

https://repository.sonatype.org/content/repositories/forge-sites/m2e-extras/0.14.0/N/0.14.0.201109282148/

IntelliJ IDE直接导入maven工程,然后引入scala插件即可。

4,运行测试

浪尖习惯用idea作为,导入工程后,可以看到

object WordCount {
  def main(args: Array[String]) {
    // set up the execution environment
    val env = ExecutionEnvironment.getExecutionEnvironment
    // get input data
    val text = env.fromElements("To be, or not to be,--that is the question:--",
      "Whether 'tis nobler in the mind to suffer", "The slings and arrows of outrageous fortune",
      "Or to take arms against a sea of troubles,")
    val counts = text.flatMap { _.toLowerCase.split("\\W+") }
      .map { (_, 1) }
      .groupBy(0)
      .sum(1)
    // execute and print result
    counts.print()

  }
}

直接可以在idea中运行,执行结果如下:


以上是关于构建Flink工程及demo演示的主要内容,如果未能解决你的问题,请参考以下文章

maven 多工程搭建演示

使用 GraphQL 构建 BFF Demo

调试flink源码

17.凤凰架构:构建可靠的大型分布式系统 --- 技术演示工程实践

8-4 Hystrix演示环境构建

Flink Java Demo(Windows)