一、简介
IDEA 全称 IntelliJ IDEA,是java编程语言开发的集成环境。IntelliJ在业界被公认为最好的java开发工具,尤其在智能代码助手、代码自动提示、重构、JavaEE支持、各类版本工具(git、svn等)、JUnit、CVS整合、代码分析、 创新的GUI设计等方面的功能可以说是超常的。IDEA是JetBrains公司的产品,这家公司总部位于捷克共和国的首都布拉格,开发人员以严谨著称的东欧程序员为主。它的旗舰版本还支持HTML,CSS,PHP,MySQL,Python等。免费版只支持Java,Kotlin等少数语言。
本文基于windows环境下来安装和配置IDEA ,以创建flink的WordCount为例,介绍IDEA+maven来开发大数据相关应用,关于IDEA 本身的使用不做介绍。
二、下载
下载地址:https://www.jetbrains.com/
下载得到:
社区版(ideaIC-2020.2.exe或者ideaIC-2020.2.win.zip)
旗舰版(ideaIU-2020.2.exe或者ideaIU-2020.2.win.zip)
这里的ideaIC表示Community(社区)版,ideaIU表示旗舰(Ultimate)版
可以点击download直接下载,也可以点击右边的.exe,也从下拉列表中选择下载windows(.zip)
三、安装
为省事,咱们选ideaIC-2020.2.win.zip, 不需要安装,直接解压缩后就可以使用,解压缩后双击bin目录下的idea64.exe即可
四、配置
1.安装maven
在进行下一步之前,需要安装好maven,maven的安装其实就是解压缩
2.配置maven环境变量
windows环境下的安装方法与linux基本一致:就是找个解压缩软件,将其解压缩到某一个目录即可,然后在环境变量中添加MAVEN_HOME,以及在PATH中添加%MAVEN_HOME%\bin即可
文件管理器在“此电脑”图标上右击鼠标=>属性
属性
高级系统设置
增加MAVEN_HOME及MAVEN_OPTS
MAVEN_HOME
2.配置maven国内仓库(maven编译时需要下载n多文件,国内仓库会大大加快下载速度)
找到maven安装目录下的conf子目录,其下有一个settings.xml文件,打开编辑之
找到
3.在IDEA里配置maven安装目录
要是第一次打开IDEA,会出现如下窗口,选New Project,然后选java,一路Next,就会来到IDEA的主界面
点击菜单File=>Settings
左边选build、Execution、Deployment
右边
Maven Home directory:默认是IDEA自带的Maven,咱们用自己安装的版本,点下拉列表看看自己安装的Maven目录在不在列表中,要是在选之,要是不在,点右边的...打开文件夹选择器选择Maven安装目录
User settings file:先选中overwrite,然后点左边的小方块打开文件夹选择器选择Maven安装目录,其下conf下有刚刚配置好的setttings.xml,选之,其文件路径会在左侧显示
完成上述动作后,选择OK
4.设置archetype-catalog.xml位置
从
http://repo.maven.apache.org/maven2/archetype-catalog.xml
下载
将archetype-catalog.xml保存到userhome/.m2文件夹
点击File——>settings——>Maven——>Runner——在Runner配置页中的VM Options 中输入
-DarchetypeCatalog=internal
五、构造Maven项目
1.新建java项目
选择Maven
然后选中create from archetype
在列表中找flink-quickstart
找不到的话,点击右边的add archetype
在弹出框中输入:
groupId:org.apache.flink
artifactId:flink-quickstart-java
version:1.11.1
repository:https://mirrors.huaweicloud.com/repository/maven/
输入项目信息:
Name:Flink-QuickStart-Java
Location:选一个目录
GroupID:org.example
选择Maven安装目录和设置文件
开始自动抓取所需的文件,然后自动下载文件,要是看到最后的[INFO] BUILD SUCCESS,说明就OK了
点击右边的Maven(竖排的按钮)
选择clean,点绿色的三角
再选择package,点绿色的三角
也可以点M
输入mvn clean package,回车,一次性搞定几个步骤
在文件管理器中会发现jar文件
运行之:
flink run -m master:8081 -c org.example.BatchJob Flink-QuickStart-Java-1.0-SNAPSHOT.jar
结果出现错误:rg.apache.flink.client.program.ProgramInvocationException: The main method caused an error: No data sinks have been created yet. A program needs at least one sink that consumes data. Examples are writing the data set or printing it.
出错了
从flink.apache.org下载flink-1.11.1-src.tgz,(下载地址:https://www.apache.org/dyn/closer.lua/flink/flink-1.11.1/flink-1.11.1-src.tgz)
也可以从https://github.com/中搜flink,然后点击apache/flink下载源码
将flink-1.11.1-src.tgz解压缩后,
找到子目录\flink-1.11.1-src\flink-1.11.1\flink-examples\flink-examples-batch\src\main\java\org\apache\flink\examples\java\wordcount
copy文件
将其下的WordCount.java文件及util文件夹复制到FlinkTest工程的以下子目录下
Flink-QuickStart-Java\src\main\java\org\example
然后到IDEA,会多出两个文件
修改WordCount.java
把WordCount.java中的
1.将package org.apache.flink.examples.java.wordcount改为
package org.example;
2.将import org.apache.flink.examples.java.wordcount.util.WordCountData;
改为
import org.example.util.WordCountData;
修改util/WordCountData.java
把package org.apache.flink.examples.java.wordcount.util改为
package org.example.util;
b)重新编译和打包
点M
输入mvn clean package,回车,一次性搞定几个步骤
运行之:
flink run -m master:8081 -c org.example.WordCount Flink-QuickStart-Java-1.0-SNAPSHOT.jar --input $FLINK_HOME/LICENSE --output /home/hadoop/wordcount-result001.txt
本地文件
也可以到hdfs里面试试身手
hadoop fs -put $FLINK_HOME/LICENSE /mylab/mydata
hadoop fs -ls /mylab/mydata
flink run -m master:8081 -c org.example.WordCount Flink-QuickStart-Java-1.0-SNAPSHOT.jar --input hdfs:///mylab/mydata/LICENSE --output hdfs:///mylab/mydata/wordcount-result001.txt
hadoop fs -cat hdfs:///mylab/mydata/wordcount-result001.txt
2.新建scala项目
与java项目基本一致,这里就简化说明一下
创建新项目,选择flink-quickstart-scala_2.11
Name:Flink-QuickStart-Scala
scala版本的源码本身就是WordCount
编译,打包
mvn clean package
运行
flink run -m master:8081 -c org.example.WordCount Flink-QuickStart-Scala-1.0-SNAPSHOT.jar