前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >从零开始构建Flink开发项目-Scala版

从零开始构建Flink开发项目-Scala版

作者头像
kongxx
发布2019-05-17 16:18:40
1.7K0
发布2019-05-17 16:18:40
举报

今天要做一个Flink的测试,因此需要创建一个简单的Flink项目,于是找到了下面这种方式来创建一个Flink启动项目。

通过运行下面的命令来创建一个项目

curl https://flink.apache.org/q/quickstart-scala.sh | bash

也可以根据 quickstart-scala.sh 文件中的内容,使用maven命令来生成自己的项目,比如:

mvn archetype:generate                              \
  -DarchetypeGroupId=org.apache.flink               \
  -DarchetypeArtifactId=flink-quickstart-scala      \
  -DarchetypeVersion=1.8.0                          \
  -DgroupId=my.flink.quickstart                     \
  -DartifactId=quickstart                           \
  -Dversion=0.1                                     \
  -Dpackage=my.flink.quickstart                     \
  -DinteractiveMode=false

工程创建后,查看一下工程目录结构,如下:

$ tree quickstart
quickstart
├── pom.xml
└── src
    └── main
        ├── resources
        │   └── log4j.properties
        └── scala
            └── my
                └── flink
                    └── quickstart
                        ├── BatchJob.scala
                        └── StreamingJob.scala

在开始正式编译运行之前,需要根据自己环境的scala的版本,修改一下 pom.xml 文件,我环境中的 scala 版本是 2.12.2,因此我做了下面的修改

修改
        <scala.binary.version>2.11</scala.binary.version>
        <scala.version>2.11.12</scala.version>
为
        <scala.binary.version>2.12</scala.binary.version>
        <scala.version>2.12.2</scala.version>

下面使用一个例子来测试一下工程,在 src/main/scala/my/flink/quickstart 目录下创建一个 WordCount.scala 文件,内容如下:

package my.flink.quickstart

import org.apache.flink.api.java.utils.ParameterTool
import org.apache.flink.api.scala._


object WordCount {

  def main(args: Array[String]) {
    if (args.length != 1) {
      println("Please give input parameter.")
      System.exit(1)
    }
    val env = ExecutionEnvironment.getExecutionEnvironment
    val text = env.readTextFile(args(0))
    val counts = text.flatMap { _.toLowerCase.split("\\W+") filter { _.nonEmpty } }
      .map { (_, 1) }
      .groupBy(0)
      .sum(1)
    counts.print()
  }
}

编译打包

$ cd quickstart
$ mvn clean package

运行 WordCount 程序

$ ${FLINK_HOME}/bin/flink run -c my.flink.quickstart.WordCount target/quickstart-0.1.jar ./
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019.05.13 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
大数据
全栈大数据产品,面向海量数据场景,帮助您 “智理无数,心中有数”!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档