好玩的大数据之52:flink编程实验2(利用IDEA +maven构造flink-quick-start程序,含java和scala版)

一、简介


        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)版

www.jetbrains.com


download

可以点击download直接下载,也可以点击右边的.exe,也从下拉列表中选择下载windows(.zip)

Community版本即可


三、安装


为省事,咱们选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文件,打开编辑之

         找到,在其下增加以下子元素:

        

      alimaven

      aliyun maven

      http://maven.aliyun.com/nexus/content/groups/public/

      central

   

3.在IDEA里配置maven安装目录

要是第一次打开IDEA,会出现如下窗口,选New Project,然后选java,一路Next,就会来到IDEA的主界面

         点击菜单File=>Settings

Settings

左边选build、Execution、Deployment

右边

Maven Home directory:默认是IDEA自带的Maven,咱们用自己安装的版本,点下拉列表看看自己安装的Maven目录在不在列表中,要是在选之,要是不在,点右边的...打开文件夹选择器选择Maven安装目录

User settings file:先选中overwrite,然后点左边的小方块打开文件夹选择器选择Maven安装目录,其下conf下有刚刚配置好的setttings.xml,选之,其文件路径会在左侧显示

完成上述动作后,选择OK

Maven配置

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

设置archetype-catalog.xml

五、构造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/

add archetype
create from archetype

输入项目信息:

        Name:Flink-QuickStart-Java

        Location:选一个目录

        GroupID:org.example

选择Maven安装目录和设置文件

选择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 

你可能感兴趣的:(好玩的大数据之52:flink编程实验2(利用IDEA +maven构造flink-quick-start程序,含java和scala版))