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;
\\ 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;
\\ ltlt; artifactId \\> flink-scala _ $ {scala.binary.version} \\ u0026 lt; / artifactId \\
\\ ltlt;版本\\ $ {flink.version \\ ult26 lt; /版本\\
\\ ltlt;范围提供\\ ltlt; /范围
\\ ltlt; /成瘾>>
\\ ltlt; <依赖关系>
\\ ltlt;
\\ 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;
\\ ltlt; artifactId \\> scala-库\\ ult26 / artifactId \\
\\ ltlt;版本\\ $ {scala.version \\ ult26; /版本\\
\\ ltlt;范围提供\\ ltlt; /范围
\\ ltlt; /成瘾>>
\\ ltlt; <依赖关系>
\\ ltlt;
\\ ltlt; artifactId \\> flink-connector-skull-0.10_2.10 \\ u0026 lt; / artifactId \\
\\ ltlt;版本\\ 1.9.2 lt; /版本\\
\\ ltlt; /成瘾>>
\\ ult -在此处连接连接器。它们必须在默认框架中(编译):-\\
\\ ult -例如。
\\ ltlt; <依赖关系>
\\ ltlt;
\\ 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;
\\ ltlt; artifactId \\> slf4j-log4j12 \\ u0026 lt; / artifactId \\
\\ ltlt;版本\\ 1.7.7 lt; /版本\\
\\ ltlt;范围启动\\ lt; /范围
\\ ltlt; /成瘾>>
\\ ltlt; <依赖关系>
\\ ltlt;
\\ ltlt; artifactId \\> log4j \\; / artifactId \\
\\ ltlt;版本\\ 1.2.17 \\ /版本\\
\\ ltlt;范围启动\\ lt; /范围
\\ ltlt; /成瘾>>
\\ ltlt; /成瘾\\
\\ ltlt;建立\\
插入插件;
\\ ult -我们使用maven-color应用程序创建了一个包含所有必要瘾的胖子。
\\ ult -更改\\ mainClass的值... \\ / mainClass \\如果您的程序访问点发生更改:-\\
插入插件;
\\ ltlt;
\\ 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;
\\ 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;
\\ 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;
\\ 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;
\\ 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;
\\ ltlt; artifactId \\> flink-scala _ $ {scala.binary.version} \\ u0026 lt; / artifactId \\
\\ ltlt;版本\\ $ {flink.version \\ ult26 lt; /版本\\
\\ ltlt;范围编译lt; /范围
\\ ltlt; /成瘾>>
\\ ltlt; <依赖关系>
\\ ltlt;
\\ ltlt; artifactId \\> flink-streaming-scala _ $ {scala.binary.version} 00 u0026 lt; / artifactId \\
\\ ltlt;版本\\ $ {flink.version \\ ult26 lt; /版本\\
\\ ltlt;范围编译lt; /范围
\\ ltlt; /成瘾>>
\\ ltlt; <依赖关系>
\\ ltlt;
\\ ltlt; artifactId \\> scala-库\\ ult26 / artifactId \\
\\ ltlt;版本\\ $ {scala.version \\ ult26; /版本\\
\\ ltlt;范围编译lt; /范围
\\ ltlt; /成瘾>>
\\ ltlt; <依赖关系>
\\ ltlt;
\\ 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