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

栏目: Scala · 发布时间: 6年前

内容简介:版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kongxx/article/details/90166338

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kongxx/article/details/90166338

今天要做一个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 ./

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Modeling the Internet and the Web

Modeling the Internet and the Web

Pierre Baldi、Paolo Frasconi、Padhraic Smyth / Wiley / 2003-7-7 / USD 115.00

Modeling the Internet and the Web covers the most important aspects of modeling the Web using a modern mathematical and probabilistic treatment. It focuses on the information and application layers, a......一起来看看 《Modeling the Internet and the Web》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

XML 在线格式化
XML 在线格式化

在线 XML 格式化压缩工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具