<?xml version="1.0" encoding="UTF-8"?>
<project 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"><modelVersion>4.0.0</modelVersion><groupId>groupId</groupId><artifactId>Flink</artifactId><version>1.0-SNAPSHOT</version><properties><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><flink.version>1.7.2</flink.version><java.version>1.8</java.version><scala.binary.version>2.11</scala.binary.version></properties><dependencies><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope></dependency>
<!--https://mvnrepository.com/artifact/org.apache.flink/flink-java--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-java</artifactId><version>1.7.2</version><!--下面命令provided只有在编译的时候才会生效,运行和打包的时候不使用--><!--<scope>provided</scope>--></dependency>
<!--https://mvnrepository.com/artifact/org.apache.flink/flink-streaming-java--><dependency><groupId>org.apache.flink</groupId><artifactId>flink-streaming-java_${scala.binary.version}</artifactId><version>${flink.version}</version><!--<scope>provided</scope>--></dependency></dependencies><build><pluginManagement><plugins><!--java编译的插件--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.6.0</version><configuration><!--指定JDK的编译版本--><source>${java.version}</source><target>${java.version}</target><encoding>UTF-8</encoding></configuration></plugin><!--打jar包插件(会包含所有依赖)--><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-assembly-plugin</artifactId><version>2.6</version><configuration><descriptorRefs><descriptorRef>jar-with-dependencies</descriptorRef></descriptorRefs><archive><manifest><!--可以设置jar包的入口类(可选)--><mainClass>batch_example.SocketWindowWordCountJava</mainClass></manifest></archive></configuration><executions><execution><id>make-assembly</id><phase>package</phase><goals><goal>single</goal></goals></execution></executions></plugin></plugins></pluginManagement></build>
</project>
package Flink_Stream;import org.apache.flink.api.common.functions.FlatMapFunction;
import org.apache.flink.api.java.tuple.Tuple2;
import org.apache.flink.streaming.api.datastream.DataStreamSource;
import org.apache.flink.streaming.api.datastream.SingleOutputStreamOperator;
import org.apache.flink.streaming.api.environment.StreamExecutionEnvironment;
import org.apache.flink.streaming.api.windowing.time.Time;
import org.apache.flink.util.Collector;import javax.xml.transform.stream.StreamSource;//flink的流处理(滑动窗口计算,每1秒钟计算前30秒的数据)
public class FlinkStream {//单词统计public static void main(String[] args)throws Exception{//获取flink的运行环境StreamExecutionEnvironment env=StreamExecutionEnvironment.getExecutionEnvironment();DataStreamSource<String> streamSource=env.socketTextStream("192.168.1.123",8888,"\n");SingleOutputStreamOperator<Tuple2<String,Integer>> streamTuple=streamSource.flatMap(new FlatMapFunction<String, Tuple2<String,Integer>>() {@Overridepublic void flatMap(String s, Collector<Tuple2<String, Integer>> collector) throws Exception {String[] splited =s.split("\\W+");for(String word : splited){collector.collect(new Tuple2<>(word,1));}}}).keyBy(0).timeWindow(Time.seconds(10),Time.seconds(2)).sum(1);streamSource.print();//执行env.execute("FlinkStream");}}

Flink流处理练习相关推荐

  1. Flink流计算WordCount代码示例

    代码 package com.zxl.flinkimport org.apache.flink.streaming.api.scala.StreamExecutionEnvironment/*** f ...

  2. Flink流计算编程--在WindowedStream中体会EventTime与ProcessingTime

    一.Flink流处理简介 Flink流处理的API叫做DataStream,可以在保证Exactly-Once的前提下提供高吞吐.低延时的实时流处理. 二.Flink中的Time模型 Flink中提供 ...

  3. 40亿条/秒!Flink流批一体在阿里双11首次落地的背后

    简介:今年的双11,实时计算处理的流量洪峰创纪录地达到了每秒40亿条的记录,数据体量也达到了惊人的每秒7TB,基于Flink的流批一体数据应用开始在阿里巴巴最核心的数据业务场景崭露头角,并在稳定性.性 ...

  4. Flink 流式计算在节省资源方面的简单分析

    本文由小米的王加胜同学分享,文章介绍了 Apache Flink 在小米的发展,从 Spark Streaming 迁移到 Flink ,在调度计算与调度数据.Mini batch 与 streami ...

  5. Hologres+Flink流批一体首次落地4982亿背后的营销分析大屏

    简介: 本篇将重点介绍Hologres在阿里巴巴淘宝营销活动分析场景的最佳实践,揭秘Flink+Hologres流批一体首次落地阿里双11营销分析大屏背后的技术考验. 概要:刚刚结束的2020天猫双1 ...

  6. Flink流式处理百万数据量CSV文件

    前言 最近公司让做一个'没有必要'的需求 需求针对的对象 这是同一个csv文件的不同展示形式 Excel展示形式 文本展示形式 这个csv文件中可能有数百万条数据 需求 将所有的异常数据检测出来 什么 ...

  7. 【Flink】Flink 流处理 Sum操作 Table is not an append-only table. Use the toRetractStream() in order to hand

    1.背景 flink Flink 流处理 Sum操作 报错 @Testdef sumTest(): Unit = {val env = StreamExecutionEnvironment.getEx ...

  8. Flink流式计算从入门到实战 三

    文章目录 四.Flink DataStream API 1.Flink程序的基础运行模型 2.Environment 运行环境 3.Source 3.1 基于File的数据源 3.2 基于Socket ...

  9. Flink 流数据处理

    序言 基于官网教程整理的一个教程.基于Flink1.12.0版本. 目前该版本的Flink支持的source与sink如下所示 参考资料: https://ci.apache.org/projects ...

  10. flink 流批一体

    目录 当我们谈论批流一体,我们在谈论什么? 一.流计算与批计算 一)流计算与批计算 二)流计算与批计算的比较 三)为什么要搞流批一体 二.流批一体的场景 一)数据集成的流批一体 二)数仓架构的流批一体 ...

最新文章

  1. MIT人工智能实验室推出「液态」神经网络 | AI日报
  2. 比尔盖茨跌落第二!世界首富换人了
  3. 米匡框架实现量化交易炒股
  4. 我已经把它摸的透透的了!!!Spring 动态数据源设计实践,全面解析
  5. namespace命名空间的使用
  6. linux脚本awk,如何在awk脚本中使用shell变量?
  7. 从“元宇宙”看国内外产业发展差距
  8. python生成验证码的程序_Python基础篇生成4位随机验证码
  9. C#复习(学生信息输入)
  10. 强悍书单:概率与测度论+数理统计+随机过程+金融
  11. 深入浅出了解OCR识别票据原理
  12. API MISUSE: <CBPeripheralManager: 0x282c00070> can only accept this command while in the powered on
  13. 【周刊】“熊孩子”乱敲键盘攻破 Linux 桌面;500 个值得学习的 AI 开源项目;Rust 升级成为微软一级项目...
  14. Java实现模拟斗地主洗牌、发牌、看牌并排序
  15. 计算机辅助物理化学实验 唐典勇课后答案,计算机辅助物理化学实验(第2版)...
  16. PHP 免费获取手机号码归属地
  17. Convolutional Neural Network based Multiple-Rate Compressive Sensing for Massive MIMO CSI Feedback:
  18. 广东“阳光检务网”昨正式启用
  19. 最大子矩阵(悬挂线)
  20. Linux下查看系统启动时间、安装时间

热门文章

  1. 安装glog和gflags
  2. Redis哈希表总结
  3. Android Intent Action 大全
  4. myeclipse8.5集成svn
  5. 新顶级域名、Cloud域名
  6. 盖茨基金会重发明厕所进展
  7. Discuz!NT实际安装流程
  8. linux yum 目录在哪,急问怎么知道yum从哪个地址下载的文件呢?
  9. 设计灵感|网页建议页面(联系页面)版式案例
  10. 设计灵感|化繁杂为明晰!如何把信息类海报做得好看?