IDEA 2024 配置 Flink Scala开发环境

news/2024/9/28 3:24:06

IDEA 2024 配置 Flink Scala开发环境

一、环境

IntelliJ IDEA 2024.1 (Ultimate Edition)
项目JDK版本:Zulu JDK11
Scala 2.12.19
Scala编译ServerJDK版本: JDK21
Flink 1.19.1

二、步骤、

  1. 创建Java项目

    image-20240620175044000
  2. 安装Scala插件,安装后重启

    位置:Settings --> Plugins --> Marketplace

    image-20240620172929659
  3. 设置Scala编译器

    进入 File --> Project Structure --> Global Libraries

    image-20240620173131345
  4. 配置Scala编译器

    左上角+号 --> Scala SDK --> Download,选择2.12.19,等待下载完成

    之后选择2.12.19,点击OK

    image-20240620173334410

    不要退出,点击Libraries,再次添加Scala SDK,选择2.13.14

    image-20240620183839089

到期项目配置完成,接下来创建WordCount进行测试

  1. Maven添加以下配置

    <properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><flink.version>1.19.1</flink.version><scala.version>2.12</scala.version>
    </properties><dependencies><dependency><groupId>org.apache.flink</groupId><artifactId>flink-scala_${scala.version}</artifactId><version>${flink.version}</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-streaming-scala_${scala.version}</artifactId><version>${flink.version}</version></dependency><dependency><groupId>org.apache.flink</groupId><artifactId>flink-clients</artifactId><version>${flink.version}</version></dependency>
    </dependencies>
    
  2. src中添加scala文件夹并标记为Source Root

    image-20240620174055796
  3. 新建Main.scala

    package com.innovationv2import org.apache.flink.streaming.api.scala._object Main {def main(args: Array[String]): Unit = {val env = StreamExecutionEnvironment.getExecutionEnvironmentval lineDS = env.socketTextStream("localhost", 9998)lineDS.flatMap(_.split(" ")).filter(_.nonEmpty).map((_,1)).keyBy(_._1).sum(1).print()env.execute()}
    }
    
  4. 测试

    打开终端,启动nc

    nc -lk 9998
    

    运行Flink项目

    在终端输入字符,Flink会输出结果

    image-20240620175410126

三、附录

3.1 Scala版本要和Flink依赖的Scala版本统一

比如我们使用的Flink依赖的Scala版本是2.12,那么项目使用的Scala也必须是2.12

3.2 Scala要选JDK支持版本

JDK支持的Scala最低版本网址:https://docs.scala-lang.org/overviews/jdk-compatibility/overview.html

image-20240620180200427

如图,JDK21支持的2.12的最低版本为2.12.18,如果Scala低于这个版本,将会报错

如果出现问题,可在Settings --> Build, Execution, Deployment --> Compiler --> Scala Compiler --> Scala Compiler Server 切换JDK版本,这里我们选择JDK21

image-20240620180454230

3.3 JDK版本要与Flink支持版本统一

https://nightlies.apache.org/flink/flink-docs-release-1.19/zh/docs/deployment/java_compatibility/

查看Flink1.19的文档,发现只支持到JDK11,JDK17只是实验性加入,未正式支持。测试下来JDK17的确会报错,本项目使用JDK11

进入File --> Project Sturcture

  1. 选择Project,SDK切换为Flink支持的版本

    image-20240620183100485
  2. 选择Modules

    1. Sources 选择对应的JDK版本

      image-20240620183121628
    2. Dependencies,选择对应版本JDK

      image-20240620183139381

    之后确认即可

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.ryyt.cn/news/45804.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈,一经查实,立即删除!

相关文章

MySQL安装流程

MySQL安装流程 1、在除C盘外的期盘中创建一个空白的文件夹(文件夹的名字不要为中文 , 文件名最后也不要有空格) ;注意:在这个文件夹的路径中不要出现中文。 2、将mysql的压缩包 , 解压到刚刚创建的文件夹中 3、配置环境变量 右击此电脑——>属性——>高级系统设置——…

以沙箱的方式运行容器:安全容器Kata Containers

以沙箱的方式运行容器:安全容器Kata Containers,Kata Containers,安全容器,gVisor,Kata Containers 的本质,就是一个轻量化虚拟机,Gvisor与Kata区别对比,配置docker使用kata作为runtime,安装docker,安装kata,配置docker支持kata作为runtime,docker使用kata作为runti…

最快方式搭建docker大数据 测试集群

平时搭建一套测试集群 找包 找的累死,现在使用docker搭建 cdh版本的 1.首先在服务器上安装docker yum install docker 2.配置国内 阿里云docker仓库服务 https://cr.console.aliyun.com/cn-hangzhou/instances/mirrors 换成地址,重启docker服务sudo mkdir -p /etc/docker s…

L 波段射频采集存储回放系统

L 波段采集回放系统是一套便携式模拟数字采集系统,该系统主要由射频输入模块、中频接收回放模块、FPGA 信号处理单元、服务器系统和存储单元等组成。L 波段采集回放系统的功能主要用于对950MHz〜2150MHz 模拟量射频信号的采集、存储记录与回放;采集与回放信号瞬时带宽高达500…

VuePress使用

记一篇:安装Vuepress过程也遇到的问题,于是想写篇文章总结一下~ ~ 一、介绍 VuePress 是一个以 Markdown 为中心的静态网站生成器。你可以使用 Markdown在新窗口打开 来书写内容(如文档、博客等),然后 VuePress 会帮助你生成一个静态网站来展示它们。 官网链接:https://v…

windows server登录密码忘记,怎么重置

在开始前,需要准备U盘,作为引导盘,进入安装界面 亲测,对所有的windows server都有效 步骤1在虚拟机的光盘中选择Server2012R2的ISO,并确定(如果是物理机,直接把ISO刻录成光盘,放入光驱即可)2重启服务器,修改启动项从CD-ROM启动,当在屏幕出现Press any key to boot f…

基于django的灾害监测系统

说明 技术栈: 开发框架:Django 前端:boostrap、ajax、JavaScript 后端:python 数据库:redis、postgresql前期工作 安装PostgreSQL 安装Redis 创建第一个页面 1. 创建Django项目运行测试 python manage.py runserver2. 创建app python manage.py startapp app13.将app1注册…