首页 > 其他 > 详细

flink学习-使用IDEA + SCALA编写WordCount

时间:2020-04-09 10:35:17      阅读:61      评论:0      收藏:0      [点我收藏+]

hangicestreamhideruntime:

通知人:

1个前提条件

1.1系统环境

1.2确认环境

2创建一个项目

3个配置元素

4写代码

5个运营项目

1个前提条件

1.1系统环境

需要安装Maven,Java,Scala。

1.2批准条件:

确认Java和Scala版本。 Scala的版本与项目的进一步设计有关。

1)确认Java版本

2)确认Scala版本

2创建一个项目

Maven创建了:

创建一个订单。

Mvn原型:生成-DarchetypeGroupId = org.apache.flink -DarchetypeArtifactId = flink-faststart-scala -DarchetypeVersion = 1.9.0

注意事项: -DarchetypeVersion = 1.9.0是flink版本号,要保持一致,您也可以在创建项目后对其进行更改。

3个配置元素

1)查看pom.xml文件

继续根据系统环境覆盖和扩展选件的数量

\\ ult  --

Apache Software Foundation(ASF)许可

或更多的投资者专利。见花文件

有关此工作的更多信息

与版权拥有权有关。 FFA为此文件申请了专利

Apache许可2.0版(

“许可”);除合规性外,您不得使用此文件

附有执照。您可以在以下位置获取许可证副本:

http://www.apache.org/licenses/LICENSE-2.0:

只要现行法律或书面协议没有要求,

根据许可分发的软件分为

“他们是如何”相关联,没有艺术和条件的情况

科学,无论明示或暗示。见许可证

控制权限和限制的特殊语言

经许可。

->

\\ ltlt;项目xmlns =“ http://maven.apache.org/POM/4.0.0”

xmlns: xsi =“ http://www.w3.org/2001/XMLSchema-instance”

xsi: schemaLocation =“ http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd‘\\u0026gt;

\\ ltlt; modelVersion \\ u0026 4.0.0 \\ u0026 lt; / modelVersion \\

\\ ltlt; <groupId \\> groupId \\ lt; / groupId \\

\\ ltlt; artifactId \\> artifactId \\ ltlt; / artifactId \\

\\ ltlt;版本\\ 1.0快照\\ /版本\\

\\ ltlt;包装\\罐子/包装>>

\\ ltlt;名称\\ Flink快速启动作业/名称\\

\\ ltlt;网址\\ http: //www.myorganization.org\\u0026lt; / url 00>

\\ ltlt;仓库>>

\\ ltlt;备份>>

\\ ltlt; id \\> apache.snapshots \\ lt; / id \\

\\ ltlt;名称\\ Apache开发快照存储库/名称\\

\\ ltlt;网址\\ https: //repository.apache.org/content/repositories/snapshots/\\u0026lt; / url 00>

\\ ltlt;发布\\

\\ ltlt;已连接>假的/已连接

\\ ltlt; /发布>>

\\ ltlt;照片\\

\\ ltlt;已连接>真实\\ ltlt; /已连接

\\ ltlt; /照片\\

\\ ltlt; /存储>>

\\ ltlt; /备件>>

\\ ltlt;属性\\

\\ ltlt; project.build.sourceEncoding \\ UTF-8 \\ /project.build.sourceEncoding\\u0026gt;

\\ ltlt; flink.version \\ 1.9.2 lt; /flink.version\\u0026gt;

\\ ltlt; scala.binary.version \\ 2.12 lt; /scala.binary.version\\u0026gt;

\\ ltlt; scala.version \\ 2.12.11 \\ /scala.version\\u0026gt;

\\ ltlt; /属性>

\\ ltlt;成瘾>>

\\ ult  -Apache Flink依赖项-\\

\\ ult  -这些依赖关系得到保护,因为它们不应打包在JAR文件中。

\\ ltlt; <依赖关系>

\\ ltlt; <groupId \\> org.apache.flink \\ ult26; / groupId \\

\\ ltlt; artifactId \\> flink-scala _ $ {scala.binary.version} \\ u0026 lt; / artifactId \\

\\ ltlt;版本\\ $ {flink.version \\ ult26 lt; /版本\\

\\ ltlt;范围提供\\ ltlt; /范围

\\ ltlt; /成瘾>>

\\ ltlt; <依赖关系>

\\ ltlt; <groupId \\> org.apache.flink \\ ult26; / groupId \\

\\ ltlt; artifactId \\> flink-streaming-scala _ $ {scala.binary.version} 00 u0026 lt; / artifactId \\

\\ ltlt;版本\\ $ {flink.version \\ ult26 lt; /版本\\

\\ ltlt;范围提供\\ ltlt; /范围

\\ ltlt; /成瘾>>

\\ ult  -Scala库,也由Flink提供。

\\ ltlt; <依赖关系>

\\ ltlt; <groupId \\> org.scala-lang \\ ult26; / groupId \\

\\ ltlt; artifactId \\> scala-库\\ ult26 / artifactId \\

\\ ltlt;版本\\ $ {scala.version \\ ult26; /版本\\

\\ ltlt;范围提供\\ ltlt; /范围

\\ ltlt; /成瘾>>

\\ ltlt; <依赖关系>

\\ ltlt; <groupId \\> org.apache.flink \\ ult26; / groupId \\

\\ ltlt; artifactId \\> flink-connector-skull-0.10_2.10 \\ u0026 lt; / artifactId \\

\\ ltlt;版本\\ 1.9.2 lt; /版本\\

\\ ltlt; /成瘾>>

\\ ult  -在此处连接连接器。它们必须在默认框架中(编译):-\\

\\ ult  -例如。

\\ ltlt; <依赖关系>

\\ ltlt; <groupId \\> org.apache.flink \\ ult26; / groupId \\

\\ ltlt; artifactId \\> flink-connector-skull-0.10 _ $ {scala.binary.version} 00 u0026 lt; / artifactId \\

\\ ltlt;版本\\ $ {flink.version \\ ult26 lt; /版本\\

\\ ltlt; /成瘾>>

->

\\ ult  -在IDE中工作时添加输入框以生成安慰输出。

\\ ult  -将这些依赖项从适用的JAR中静默排除。

\\ ltlt; <依赖关系>

\\ ltlt; <groupId \\> org.slf4j \\ ult26 lt; / groupId \\

\\ ltlt; artifactId \\> slf4j-log4j12 \\ u0026 lt; / artifactId \\

\\ ltlt;版本\\ 1.7.7 lt; /版本\\

\\ ltlt;范围启动\\ lt; /范围

\\ ltlt; /成瘾>>

\\ ltlt; <依赖关系>

\\ ltlt; <groupId \\> log4j \\; / groupId \\

\\ ltlt; artifactId \\> log4j \\; / artifactId \\

\\ ltlt;版本\\ 1.2.17 \\ /版本\\

\\ ltlt;范围启动\\ lt; /范围

\\ ltlt; /成瘾>>

\\ ltlt; /成瘾\\

\\ ltlt;建立\\

插入插件;

\\ ult  -我们使用maven-color应用程序创建了一个包含所有必要瘾的胖子。

\\ ult  -更改\\ mainClass的值... \\ / mainClass \\如果您的程序访问点发生更改:-\\

插入插件;

\\ ltlt; <groupId \\> org.apache.maven.plugins \\ u0026 lt; / groupId \\

\\ ltlt; artifactId \\> maven-tint-plugin \\ ult26; / artifactId \\

\\ ltlt;版本\\ 3.0.0 \\ /版本\\

\\ ltlt;处决\\

\\ ult  -在打包阶段启动影子目标。

\\ ltlt;性能>>

\\ ltlt;阶段>包装\\ /相位>

\\ ltlt;目标\\

\\ ltlt;目的00 >>阴影\\ /目的>>

\\ ltlt; /目标<>

\\ ltlt;形成>

\\ ltlt; artifactSet \\

\\ ltlt;排除\\

\\ ltlt;排除\\ org.apache.flink:功率阴影\\ /排除\\

\\ ltlt;排除\\ com.google.code.findbugs: jsr305 \\ u0026 lt; /排除\\

\\ ltlt;排除\\ org.slf4j: * \\ u0026 lt; /排除\\

\\ ltlt;排除\\ log4j: * \\ u0026 lt; /排除\\

\\ ltlt; /排除\\

\\ ltlt; / artifactSet \\

\\ ltlt;过滤器

\\ ltlt;过滤器

\\ ult  -请勿在META-INF文件夹中复制签名。

否则,使用JAR时可能会导致SecurityException。

\\ ltlt; <人工制品> *: * \\ u0026 lt; /神器>

\\ ltlt;排除\\

\\ ltlt;排除\\ META-INF / *。 SF \\ LT; /排除\\

\\ ltlt;排除\\ META-INF / *。 DSA \\ lt; /排除\\

\\ ltlt;排除\\ META-INF / *。 RSA \\ u0026 lt; /排除\\

\\ ltlt; /排除\\

\\ ltlt; /过滤器

\\ ltlt; /过滤器

\\ ltlt;变压器\\

\\ ltlt;变压器实现=“ org.apache.maven.plugins.shade.resource.ManifestResourceTransformer” \\

\\ ltlt;基本类groupId.StreamingJob \\; / mainClass \\

\\ ltlt; /变压器>>

\\ ltlt; /变压器\\

\\ ltlt; /组成>>

\\ ltlt; /性能>>

\\ ltlt; /执行\\

\\ ltlt; /插件\\

\\ ult  -Java编译器-\\

插入插件;

\\ ltlt; <groupId \\> org.apache.maven.plugins \\ u0026 lt; / groupId \\

\\ ltlt; artifactId \\> maven-compiler-plugin \\; / artifactId \\

\\ ltlt;版本\\ 3.1 lt; /版本\\

\\ ltlt;形成>

\\ ltlt;来源>> 1.8 \\ lt; /来源>

\\ ltlt;目标\\ 1.8 \\ lt; /目标\\

\\ ltlt; /组成>>

\\ ltlt; /插件\\

\\ ult  -Scala编译器-00>

插入插件;

\\ ltlt; <groupId \\> net.alchim31.maven \\ / groupId \\

\\ ltlt; artifactId \\> scala-maven-plugin \\ ult26; / artifactId \\

\\ ltlt;版本\\ 3.2.2 lt; /版本\\

\\ ltlt;处决\\

\\ ltlt;性能>>

\\ ltlt;目标\\

\\ ltlt;目的00 >>使/目的>>

\\ ltlt;目的00 >>编译测试/目的>>

\\ ltlt; /目标<>

\\ ltlt; /性能>>

\\ ltlt; /执行\\

\\ ltlt; /插件\\

\\ ult  -Darking Scala集成-00 ugt26;

插入插件;

\\ ltlt; <groupId \\> org.apache.maven.plugins \\ u0026 lt; / groupId \\

\\ ltlt; artifactId \\> maven-eclipse-plugin \\; / artifactId \\

\\ ltlt;版本\\ 2.8 lt; /版本\\

\\ ltlt;形成>

\\ ltlt;下载源文件真实\\ ltlt; /下载源代码

\\ ltlt;项目\\

\\ nbsp;项目\\ org.scala-ide.sdt.core.sullahature \\ ult26 lt; /项目\\

\\ ltlt;项目\\ org.eclipse.jdt.core.javanature \\ ult26 lt; /项目\\

\\ ltlt; /设计\\

\\ ltlt; buildcommands \\

\\ ltlt; buildcommand \\ org.scala-ide.sdt.core.scalabuilder \\ ult26 lt; / buildcommand \\

\\ ltlt; / buildcommands \\

\\ ltlt; classpathContainers \\

等级

\\ ltlt; classpathContainer \\ org.eclipse.jdt.launching.JRE_CONTAINER \\ ult26 lt; / classpathContainer \\

\\ ltlt; / classpathContainers \\

\\ ltlt;排除\\

\\ ltlt;排除\\ org.scala-lang: scala-库\\ ult26 /排除\\

\\ ltlt;排除\\ org.scala-lang: scala编译器\\ /排除\\

\\ ltlt; /排除\\

\\ ltlt;来源包括\\

\\ ltlt;来源包括\\ ** / *。斯卡拉\\ / sourceInc包含\\

\\ ltlt;来源包括\\ ** / *。 java \\ u0026 lt; / SourceInclud \\;

\\ ltlt; / SourceIncludes \\

\\ ltlt; /组成>>

\\ ltlt; /插件\\

插入插件;

\\ ltlt; <groupId \\> org.codehaus.mojo \\ ult26; / groupId \\

\\ ltlt; artifactId \\> build-helper-maven-plugin \\ u0026 lt; / artifactId \\

\\ ltlt;版本\\ 1.7; /版本\\

\\ ltlt;处决\\

\\ ult  -将src / main / scala添加到eclipse的构造中->

\\ ltlt;性能>>

\\ ltlt; id \\>添加源代码/ id \\

\\ ltlt;阶段>生成源/相位>

\\ ltlt;目标\\

\\ ltlt;目的00 >>添加源代码/目的>>

\\ ltlt; /目标<>

\\ ltlt;形成>

\\ ltlt;来源\\

\\ ltlt;来源>> src / main / scala \\ /来源>

\\ ltlt; /来源\\

\\ ltlt; /组成>>

\\ ltlt; /性能>>

\\ ult  -将src / test / scala添加到黑暗的构建路径中->

\\ ltlt;性能>>

\\ ltlt; id \\>添加测试源\\ / id \\

\\ ltlt;阶段>生成测试源/相位>

\\ ltlt;目标\\

\\ ltlt;目的00 >>添加测试源\\ /目的>>

\\ ltlt; /目标<>

\\ ltlt;形成>

\\ ltlt;来源\\

\\ ltlt;来源>> src / test / scala \\ /来源>

\\ ltlt; /来源\\

\\ ltlt; /组成>>

\\ ltlt; /性能>>

\\ ltlt; /执行\\

\\ ltlt; /插件\\

\\ ltlt; /插件\\

\\ ltlt; / build \\

\\ ult  -此配置文件有助于防止事物与IntelliJ匹配。

\\ ult  -将Flink的基本课程添加到测试类路径中。

\\ ult  -否则,在IntelliJ中会丢失它们,因为提供了依赖性‘-\\ ugt26;

\\ ltlt;配置文件\\

\\ ltlt;个人资料\\

\\ ltlt; id \\>在IDEA上添加\\ lt; / id \\

\\ \\激活\\

\\ ltlt;属性\\

\\ ltlt;名称\\ idea.version \\ ult26 lt; /名称\\

\\ ltlt; /属性>>

\\ ltlt; /激活\\

\\ ltlt;成瘾>>

\\ ltlt; <依赖关系>

\\ ltlt; <groupId \\> org.apache.flink \\ ult26; / groupId \\

\\ ltlt; artifactId \\> flink-scala _ $ {scala.binary.version} \\ u0026 lt; / artifactId \\

\\ ltlt;版本\\ $ {flink.version \\ ult26 lt; /版本\\

\\ ltlt;范围编译lt; /范围

\\ ltlt; /成瘾>>

\\ ltlt; <依赖关系>

\\ ltlt; <groupId \\> org.apache.flink \\ ult26; / groupId \\

\\ ltlt; artifactId \\> flink-streaming-scala _ $ {scala.binary.version} 00 u0026 lt; / artifactId \\

\\ ltlt;版本\\ $ {flink.version \\ ult26 lt; /版本\\

\\ ltlt;范围编译lt; /范围

\\ ltlt; /成瘾>>

\\ ltlt; <依赖关系>

\\ ltlt; <groupId \\> org.scala-lang \\ ult26; / groupId \\

\\ ltlt; artifactId \\> scala-库\\ ult26 / artifactId \\

\\ ltlt;版本\\ $ {scala.version \\ ult26; /版本\\

\\ ltlt;范围编译lt; /范围

\\ ltlt; /成瘾>>

\\ ltlt; <依赖关系>

\\ ltlt; <groupId \\> org.apache.flink \\ ult26; / groupId \\

\\ ltlt; artifactId \\> flink-connector-skull_2.12 \\ u0026 lt; / artifactId \\

\\ ltlt;版本\\ 1.9.2 lt; /版本\\

\\ ltlt; /成瘾>>

\\ ltlt; /成瘾\\

\\ ltlt; /配置文件

\\ ltlt; /个人资料\\

\\ ltlt; /项目\\

pom.xml配置文件

2)程序的结构

添加scala环境。

注意事项:首次使用时,IDEA不会安装Scala插件,您需要自己安装(打开scala后缀文件,IDEA会自动提示您安装它)。

4写代码

1)Scala新文件

注意事项: 《名称公约》是大写字母,首字母大写

2)编写代码

导入org.apache.flink.api.scala._

主题字数:

def main(争议。数组[String])。单位= {

//创建执行环境

val env = ExceptionEn Environment.getExociationEnociation:

//获取输入数据

val text = env.fromElements(

“你好,世界特产价格图片大全哪里有!”

“你好,世界!”

“你好,世界。”

val计数= text.flatMap _.toLowerCase.split(“”)

.map {(_,1)

.groupBy(0)

.sum(1)

//执行并打印结果

counts.print()

}

}

5个运营项目

1)输出结果

使用IDEA + SCALA编写WordCounthangicestreamhideruntime。JS

flink学习-使用IDEA + SCALA编写WordCount

原文:https://www.cnblogs.com/blogst/p/12664637.html

(1)
(1)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!