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

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

内容简介:版权声明:本文为博主原创文章,未经博主允许不得转载。 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 ./

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

查看所有标签

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

调试九法

调试九法

David J.Agans / 赵俐 / 人民邮电出版社 / 2010-12-7 / 35.00元

硬件缺陷和软件错误是“技术侦探”的劲敌,它们负隅顽抗,见缝插针。本书提出的九条简单实用的规则,适用于任何软件应用程序和硬件系统,可以帮助软硬件调试工程师检测任何bug,不管它们有多么狡猾和隐秘。 作者使用真实示例展示了如何应用简单有效的通用策略来排查各种各样的问题,例如芯片过热、由蛋酒引起的电路短路、触摸屏失真,等等。本书给出了真正能够隔离关键因素、运行测试序列和查找失败原因的技术。 ......一起来看看 《调试九法》 这本书的介绍吧!

MD5 加密
MD5 加密

MD5 加密工具

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

在线 XML 格式化压缩工具