好玩的大数据之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文件,打开编辑之

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

         <mirror>

      <id>alimaven</id>

      <name>aliyun maven</name>

      <url>http://maven.aliyun.com/nexus/content/groups/public/</url>

      <mirrorOf>central</mirrorOf>

    </mirror>

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 

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 219,188评论 6 508
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,464评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 165,562评论 0 356
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,893评论 1 295
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,917评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,708评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,430评论 3 420
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,342评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,801评论 1 317
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,976评论 3 337
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 40,115评论 1 351
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,804评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,458评论 3 331
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 32,008评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,135评论 1 272
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,365评论 3 373
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 45,055评论 2 355