我的第一个Flink程序
写在最前面 Flink是支持Java和Scala两种语言,因为在日常的开发中 Java语言用的比较多,所以我的这些例子都是整理学习的Java版本,但是Scala语言有自己独特的优势,各位看客可以自己根据自己的情况选择不同语言。
接下来开始咱们的第一个Flink程序
我用的环境是 jdk 8 maven 3.8.3 flink 1.13(现在的Flink版本到 1.16 但是 需要JDK11)
直接上代码
pom.xml 文件 8 8 1.13.0 1.8 2.12 1.7.30 org.apache.flink flink-java ${flink.version} org.apache.flink flink-streaming-java_${scala.binary.version} ${flink.version} org.apache.flink flink-clients_${scala.binary.version} ${flink.version} org.slf4j slf4j-api ${slf4j.version} org.slf4j slf4j-log4j12 ${slf4j.version} org.apache.logging.log4j log4j-to-slf4j 2.14.0
文件words.txthes java sss hello flink ass hello flink ass1 hello bigdata
文件 BatchWordCount.javaimport org.apache.flink.api.common.typeinfo.Types; import org.apache.flink.api.java.ExecutionEnvironment; import org.apache.flink.api.java.operators.AggregateOperator; import org.apache.flink.api.java.operators.DataSource; import org.apache.flink.api.java.operators.FlatMapOperator; import org.apache.flink.api.java.operators.UnsortedGrouping; import org.apache.flink.api.java.tuple.Tuple2; import org.apache.flink.util.Collector; /**** * @author songshiming * @date 2022/11/10 * @desc */ public class BatchWordCount { public static void main(String[] args) throws Exception { // 1. 创建一个执行环境 ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment(); // 2. 从文件中读取数据 DataSource lineDataSource = env.readTextFile("input/words.txt"); // 3. 将每行的数据进行分词,转换成二元组类型 FlatMapOperator> wordAndOneTuple = lineDataSource.flatMap((String line, Collector> out) -> { // 将一行文本进行分词 String[] words = line.split(" "); // 将每个单词转换成二元组输出 for (String word : words) { out.collect(Tuple2.of(word, 1L)); } }) .returns(Types.TUPLE(Types.STRING, Types.LONG));//当 Lambda 表达式使用 Java 泛型的时候, 由于泛型擦除的存在, 需要显示的声明类型信息 // 4. 安装word进行分组 UnsortedGrouping> wordAndOneGroup = wordAndOneTuple.groupBy(0); // 5. 分组内进行聚合统计 AggregateOperator> sum = wordAndOneGroup.sum(1); // 6. 打印输出 sum.print(); }
程序运行结果
九大泰国签证类型介绍泰国旅游业非常成熟,为了给旅客提供最简单快捷最合适的签证,相应的签证类别也有所不同,今天让我们看看有哪些泰国的签证。虽然因为疫情的影响,目前无法前往泰国。不过,让我们做好准备,等待
泡发鱿鱼时,用清水全错了!村里渔民教我1招,简单泡发5倍大时间过着过着,就转眼到了国庆的假期还剩余2天左右,假期期间相信很多人不是外出旅游就是在当地特色的地方游玩。那清清的国庆假期就不一般了,不是在家躺着,就是坐着吃,日子悠哉悠哉的,美得
2022年诺贝尔物理学奖授予奠定量子计算基础的科学家AlainAspectJohnClauser和AntonZeilinger因详细描述了量子纠缠而获得物理学最高荣誉。量子纠缠现象与我们日常现实的逻辑背道而驰,即使它们彼此相距很远,
SteamDB第三方Steam数据库头条创作挑战赛Steam是每个电脑游戏玩家都一定会使用的数字游戏服务平台,使用Windows大多数都在Steam购买游戏,搭配上各种折扣活动真的很划算,只要拥有后就能随时登入Ste
2场丢4球2连败!中超黑马遭破解,2支球队用同样方式打败谢晖熟悉中超联赛的球迷都知道,每年的中超联赛都会有一匹或者几匹黑马出现。就像去年让人刮目相看的就是长春亚泰队,他们回归中超的首个赛季,就冲到了联赛第4名。不过亚泰之所以表现出色,主要是
科普为第二次量子革命奠定基础原标题科普为第二次量子革命奠定基础(主题)解读2022年诺贝尔物理学奖(副题)新华社北京10月4日电(记者冯玉婧)以量子计算和量子通信为代表的第二次量子革命曾被爱因斯坦质疑的量子纠
98英寸电视怎么选,一文超简单看懂根据中国电子视像行业协会标准,有个口诀客厅两米五,电视选75客厅两米九,85要拥有,客厅三米三,98往家搬,实际上根据个人喜好,有些人3米就要买98大屏看得舒服,也有人4米觉得看得
金针菇最鲜美的吃法,加3个鸡蛋,简单一做,比吃大鱼大肉还香国以民为本,民以食为天,各位老饕大家好!一年之计在于春,一日之计在于晨,所以美好的一天开始于美好的早晨,那么,美好的早晨是不是开始于美味的早餐呢!今天我来教大家用金针菇搭配土豆和胡
家庭要不要买些黄金买多少黄金的价值和价格走向,众说纷纭,买黄金能发财吗?不可能!买黄金能亏本吗?也不可能!买黄金能保值增值吗?一定程度!买黄金能避险吗?一定!一些经济学家和大牛们,经常在网上发布观点,无非
限购已完成历史使命城事哲谈陈哲文临时性措施,什么时候是个头?答案是时过境迁。限购,就是这么一项措施。过去十二年,限购已成中国房地产专有名词。顾名思义,就是对居民限定购房套数。应该说,自从诞生那一日起,它就成
中国煤老板往事7000万嫁女,豪车遍地,用现金成栋买楼在贾樟柯电影山河故人里,煤老板张晋生给儿子取名张到乐,取美元dollar之音。煤老板懂英文,但不多,只认识钱而已。作者阿空编辑齐马来源商隐社(IDshangyinshecj)未经授