Flink源码导入intellij过程

##

Flink源码导入intellij过程

  1. 在intellij中添加scala插件
  2. 下载源码,选择Source中的版本
  3. 解压源码,在intellij工具栏new file选择project existing source,选则解压后的文件,
  4. 选择maven导入,勾中
    • search for project recuisively
    • import Maven projects automatically
    • Sources
    • Documentation
  5. 选择下一步,然后等待intellij自动导入包完成. 过程会比较慢,可以选择将maven的中央仓库换成阿里源

##

将maven中央仓库换成阿里源

  1. 在intellij中的preference(偏好设置)里面搜索maven
  2. 找到User setting file: 勾中后面的override
  3. 进入m2的文件目录,因为此时还没有settings.xml文件,所以需要手动创建,Mac用户m2文件是隐藏的,可以使用快捷键 command + shift + . 显示m2文件,创建settings.xml文件
  4. 将下列代码粘贴金settings.xml文件
    <settings xmlns="http://maven.apache.org/SETTINGS/1.0.0"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0
                          https://maven.apache.org/xsd/settings-1.0.0.xsd">

      <mirrors>
  	    <mirror>
  	      <id>ali maven</id>
  	      <name>aliyun maven</name>
  	      <url>https://maven.aliyun.com/repository/public/</url>
  	      <mirrorOf>central</mirrorOf>
  	    </mirror>
  	    <mirror>
  	      <id>ui</id>
  	      <mirrorOf>central</mirrorOf>
  	      <name>Human Readable Name for this Mirror.</name>
  	      <url>http://uk.maven.org/maven2/</url>
  	    </mirror>
  	    <mirror>
  	      <id>ibiblio</id>
  	      <mirrorOf>central</mirrorOf>
  	      <name>Human Readable Name for this Mirror.</name>
  	      <url>http://mirrors.ibiblio.org/pub/mirrors/maven2/</url>
  	    </mirror>

  	    <mirror>
  	      <id>jboss-public-repository-group</id>
  	      <mirrorOf>central</mirrorOf>
  	      <name>JBoss Public Repository Group</name>
  	      <url>http://repository.jboss.org/nexus/content/groups/public</url>
  	    </mirror>
  	    <!--访问慢的网址放入到后面-->
  	     <mirror>
  	      <id>CN</id>
  	      <name>OSChina Central</name>
  	      <url>http://maven.oschina.net/content/groups/public/</url>
  	      <mirrorOf>central</mirrorOf>
  	    </mirror>
  	    <mirror>
  	      <id>net-cn</id>
  	      <mirrorOf>central</mirrorOf>
  	      <name>Human Readable Name for this Mirror.</name>
  	      <url>http://maven.net.cn/content/groups/public/</url>
  	    </mirror>
  	    <mirror>
  	      <id>JBossJBPM</id>
  	      <mirrorOf>central</mirrorOf>
  	      <name>JBossJBPM Repository</name>
  	      <url>https://repository.jboss.org/nexus/content/repositories/releases/</url>
  	    </mirror>
        </mirrors>
      </settings>
  1. 点击Apply,OK即可
    ##
    遇到的问题
  • 在运行flink-example中的batch中的wordcount应用时,报错,主要是scala插件问题,选择升级或者重装,
  • 如果还不行就重新导入flink,看编译结果中是否还是有scala sdk缺失警告,有的话,右键flink项目,点击open Module setting,在Gloable Libraries添加scala sdk

-Too many files with unapproved license
-mvn clean install -DskipTests 加上 -Drat.skip=true 编译

###本人想好好了解Flink源码学学技术,望各位大佬指点迷津,不吝赐教哦~

### 如何在 IntelliJ IDEA 中使用 Maven 创建 Flink 项目 #### 准备工作 确保已安装并配置好Java开发环境以及Maven构建工具。此外,IntelliJ IDEA应为最新版本,并已经正确设置了Maven支持。 #### 创建新项目 打开IntelliJ IDEA后,在欢迎界面点击“Create New Project”,或者如果是从已有IDE窗口启动,则可以通过`File -> New -> Project...`来创建新的项目[^1]。 #### 配置项目结构 选择“Maven”作为项目类型,取消勾选“Create from template”。接着指定项目名称、位置以及其他必要参数。完成这些设置之后,点击“Finish”。 #### 添加Flink依赖 当项目成功建立起来以后,编辑项目的`pom.xml`文件以加入必要的Flink库依赖: ```xml <dependencies> <!-- Flink dependencies --> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.12</artifactId> <version>${flink.version}</version> </dependency> <dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-clients_2.12</artifactId> <version>${flink.version}</version> </dependency> <!-- Add other required dependencies here --> </dependencies> ``` 这里`${flink.version}`应该替换为你想要使用的具体Flink版本号[^2]。 #### 编写第一个Flink应用程序 现在可以在src/main/java目录下新建一个类文件,并编写简单的Flink应用逻辑。例如: ```java import org.apache.flink.api.common.functions.FlatMapFunction; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.streaming.api.datastream.DataStreamSource; import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment; import org.apache.flink.util.Collector; public class WordCount { public static void main(String[] args) throws Exception { final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); DataStreamSource<String> text = env.fromElements( "Who's there?", "I think I hear them. Stand, ho! Who's there?" ); text.flatMap(new Tokenizer()) .print() .setParallelism(1); env.execute("Word Count Example"); } public static final class Tokenizer implements FlatMapFunction<String, Tuple2<String, Integer>> { @Override public void flatMap(String value, Collector<Tuple2<String, Integer>> out) { String[] tokens = value.toLowerCase().split("\\W+"); for (String token : tokens) { if (token.length() > 0) { out.collect(new Tuple2<>(token, 1)); } } } } } ``` 这段代码实现了基础单词计数功能,读取字符串列表中的每一行数据,将其分割成多个词语,并统计每个词出现次数[^3]。 #### 运行测试 最后一步是在本地环境中执行编写的Flink程序来进行初步验证。右键单击源码文件内的任意空白处,选择“Run 'ClassName.main()'”即可启动作业。如果有任何错误提示关于TypeInformation未被识别的情况,请确认是否遗漏了对整个`flink.api.scala`包的导入声明[^4]。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值