idea使用maven快速构建flink骨架项目

6 篇文章 1 订阅

Scala版Flink程序编写

本项目使用的Flink版本为最新版本,也就是1.11.2。现在提供maven项目的配置文件。

使用Intellij IDEA创建一个Maven新项目
勾选Create from archetype,然后点击Add Archetype按钮
GroupId中输入org.apache.flink,ArtifactId中输入flink-quickstart-scala,Version中输入1.11.2,然后点击OK
点击向右箭头,出现下拉列表,选中flink-quickstart-scala:1.11.2(同理构建java项目就是将scala改成java),点击Next
Name中输入FlinkTest,GroupId中输入com.zhengkw,ArtifactId中输入FlinkTest,点击Next
最好使用IDEA默认的Maven工具:Bundled(Maven 3),点击Finish,等待一会儿,项目就创建好了
根据情况修改pom文件,因为我这边用的是scala2.12.12,所以我将pom做了一些修改

<properties>
		<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
		<flink.version>1.11.2</flink.version>
		<scala.binary.version>2.12</scala.binary.version>
		<scala.version>2.12.12</scala.version>
		<log4j.version>2.12.1</log4j.version>
	</properties>

编写WordCount.scala程序

package com.imprexion

import org.apache.flink.api.scala._
import org.apache.flink.streaming.api.scala.{DataStream, StreamExecutionEnvironment}

/**
 * @ClassName:WorldCount
 * @author: zhengkw
 * @description:
 * @date: 20/10/22上午 11:13
 * @version:1.0
 * @since: jdk 1.8 scala 2.11.8
 */
object WorldCount {
  def main(args: Array[String]): Unit = {

    // set up the streaming execution environment
    val env = StreamExecutionEnvironment.getExecutionEnvironment
    env.setParallelism(1)
    val text: DataStream[String] = env.readTextFile("E:\\IdeaWorkspace\\Flink-DataMoveForHive2Kafka\\src\\main\\resources\\helloworld.txt")

    val value = text.flatMap { r => r.split("\\s") }
      .map(w => WordWithCount(w, 1))
      // 使用word字段进行分组操作,也就是shuffle
      .keyBy(0)
      // 做聚合操作,类似与reduce
      .sum(1).print()
    env.execute()
  }

  case class WordWithCount(word: String, count: Int)

}

过程中遇到的问题

【Flink scala】No implicits found for parameter evidence$12
官网说明

1:A frequent reason if that the code that generates the
TypeInformation has not been imported. Make sure to import the entire
flink.api.scala package.

2:Another common cause are generic methods, which can be fixed as
described in the following section.

原因:当前环境之下找到不到scala的包

添加:

import org.apache.flink.api.scala._
即可

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值