![](https://img-blog.csdnimg.cn/20190918140145169.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
Flink
Flink学习中
MingZiTian
少壮不努力,老大徒伤悲
展开
-
Flink--Transform(键控流转换算子)
若现做聚合操作,必须先分组,所以keyby很重要keyby算子比较特使,并不是一步具体的执行操作不是真正意义上的 aoprete它就是定义了一下两个任务之间数据的传输模式keyby 基于定义的key做分组基于每个key的hashcode 进行一个重分区当同一个key进行重分区的时候必然会放入带同一个分区。当前分区一定有这个key的所有数据。同一个分区可以有多种keykeyby的转换涉及到一个数据结构的专转换datastream == keyedStream这个 keyedStream原创 2021-12-07 15:04:33 · 232 阅读 · 0 评论 -
Flink--Transform(简单转换算子)
简单转换算子FLink中的简单转换算子 包含 map flatmap fiter他们有一个共同的特点就是 1 to 1 类似于spark窄依赖Map输入一个 按照转换规则 输出一个 //创建执行环境 val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment //读取一个list并转换为datastream val intList = List(1,2原创 2021-11-29 15:49:13 · 1131 阅读 · 0 评论 -
Flink--Souce(自定义)
我们可以做自定义的souces系统已经开发出来,但是没有现成的数据。另外和kafak是一对,若想从其他地方读取数据,如mysql hive,但是他们 中都是有界的数据,批处理更适合。sourcefunction 没有具体的实现,需要自己去定义类SouceFunction[T] 泛型是想要输出的数据的类型其中 SourceContext [T]上下文中的一个方法 collect [T]方法需要传入一个参数,然后把参数发出去。所以这里泛型设置为 SensorReading然后重写父类方法定义一原创 2021-11-28 06:36:37 · 548 阅读 · 0 评论 -
Flink--Source(Kafka)
从kafka读取数据依赖kafka和flink是非常契合的。若flink想和kafka建立连接,需要导入新的依赖<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-kafka-0.11_2.12</artifactId> <version>1.10.1</version></原创 2021-11-26 14:00:31 · 1745 阅读 · 0 评论 -
Flink--Source(集合,文件)
从集合、文件中读取数据基于Flink快速,灵巧,实时性高的特点以温度传感器的数据采集为场景做练习。------集合------第一步:定义传感器样例类case class SensorReading(id:String,timeStamp:Long,temperature:Double)第二步:创建执行环境(流式数据)val env = StreamExecutionEnvironment.getExecutionEnvironment第三步:定义数据源集合val sensorList原创 2021-11-26 09:41:13 · 1036 阅读 · 0 评论 -
Flink--Environment
获取当前程序的上下文批处理:val env: ExecutionEnvironment = ExecutionEnvironment.getExecutionEnvironment流处理:val env = StreamExecutionEnvironment.getExecutionEnvironment这里涉及不同的底层实现。在idea和生产环境中的执行环境是不同的getExecutionEnvironment底层会自动帮我们判断是本地环境还是集群生产环境然后以此调用://本地执行原创 2021-11-26 08:56:35 · 509 阅读 · 0 评论 -
Flink--流处理API划分
流处理API划分算子操作一共分为三大部分。首先是执行环境:enviromentsource:读取数据输入transform:做转换计算sink:做输出原创 2021-11-26 08:43:43 · 438 阅读 · 0 评论 -
Flink--流处理HelloWold
流处理HelloWold第一步: 创建流处理执行环境val env:StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment同样的需要导包,根据批处理的经验直接import org.apache.flink.streaming.api.scala._第二步: 接受Socket文本流为了实现流式数据的发送需要nc工具。首先代码中监控一个端口:val inputDataStream:DataSt原创 2021-11-26 08:36:20 · 223 阅读 · 0 评论 -
Flink--批处理HelloWorld
批处理WordCount第一步:创建批处理执行环境ExecutionEnvironment.getExecutionEnvironment然后这里需要import:import org.apache.flink.api.scala.ExecutionEnvironmentimport org.apache.flink.api.java.ExecutionEnvironment注意:使用scala api又需要引入java东西,所有很多类名称一样,所以引入的时候要注意引入的名称。这里引入scala原创 2021-11-26 07:58:24 · 873 阅读 · 0 评论 -
Flink--maven工程搭建
Pom文件scala版本:2.12.11<?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.0http://maven.apache.org/xsd原创 2021-11-26 07:37:49 · 921 阅读 · 0 评论