![](https://img-blog.csdnimg.cn/20201014180756925.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Flink
文章平均质量分 84
weixin_43003792
性格使然!!!
展开
-
Flink_CEP关于订单超时事件处理
package comimport java.utilimport org.apache.flink.cep.{PatternSelectFunction, PatternTimeoutFunction}import org.apache.flink.cep.scala.{CEP, PatternStream}import org.apache.flink.cep.scala.pattern.Patternimport org.apache.flink.streaming.api.TimeChar原创 2021-04-14 20:59:54 · 729 阅读 · 0 评论 -
Flink_CEP关于订单超时事件的处理
//基于CEP 实现对订单事件监测 对于超过一定时间下了订单未支付的用户语义处理package comimport java.utilimport org.apache.flink.cep.{PatternSelectFunction, PatternTimeoutFunction}import org.apache.flink.cep.scala.{CEP, PatternStream}import org.apache.flink.cep.scala.pattern.Patternimpor原创 2021-04-14 13:41:25 · 337 阅读 · 0 评论 -
Flink_uv统计——使用布隆过滤器
一:UV某一时段内(比如1小时)网站的独立访客数(Unique Visitor.)一天内同一访客的多次访问只记录为一个访客。一般通过用户的IP和cookie判断UV值的两种方式。埋点日志一般包含USERIDpackage com.uvimport java.utilimport org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.scala._import org.apac原创 2021-04-13 20:05:33 · 684 阅读 · 0 评论 -
Flink_基于状态编程关于连续登录失败的过滤
package com.loginfailimport java.utilimport org.apache.flink.api.common.state.{ListState, ListStateDescriptor, ValueState, ValueStateDescriptor}import org.apache.flink.shaded.netty4.io.netty.handler.codec.http2.Http2Exception.StreamExceptionimport org.原创 2021-04-09 20:41:57 · 131 阅读 · 0 评论 -
Flink_继承TableAggregateFunction实现topN
Flink中的UDF,UDAF,UDTF,以及多进多出package com.atguigu.sqlfunctionimport com.atguigu.sourceandsink.SensorReadingimport org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.functions.timestamps.BoundedOutOfOrdernessTimestampExt原创 2021-04-07 21:40:14 · 288 阅读 · 0 评论 -
Flink_基于KeyedProcessFunction的使用案例
package com.atguigu.processfunctionimport java.util.concurrent.TimeUnitimport com.atguigu.sourceandsink.SensorReadingimport org.apache.flink.api.common.restartstrategy.RestartStrategiesimport org.apache.flink.api.common.state.{ValueState, ValueStateDes原创 2021-04-06 13:15:38 · 257 阅读 · 0 评论 -
Flink——CEP应用
一:Complex Event Processing. CEPpackage com.loginfailimport java.utilimport org.apache.flink.api.common.state.{ListState, ListStateDescriptor}import org.apache.flink.cep.PatternSelectFunctionimport org.apache.flink.cep.scala.{CEP, PatternStream}impo原创 2021-03-03 23:24:16 · 129 阅读 · 1 评论 -
Flink_算子操作
一:简单转换算子1.map 类型转换 一对一转换 值转换2.flatMap ==scala map之后flat _.split(",")3.Filter() 过滤二:键控流1.keyBy 并不对数据具体处理 只是转换 KeyedStream2.keyBy(“id”) 根据id分组三:滚动聚合算子 对数据一直做滚动计算1.sum2.min min(“temperture”) 取出保留对应字段的最小值 持续更新 *只保留值,并不保留该整个字段。3.max4.minBy原创 2021-02-25 16:18:20 · 107 阅读 · 0 评论 -
Flink_支付流到账流合流操作
package com.orderpayimport org.apache.flink.api.common.state.{ValueState, ValueStateDescriptor}import org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.functions.co.{CoProcessFunction, KeyedCoProcessFunction}import原创 2021-02-22 20:04:38 · 131 阅读 · 0 评论 -
Flink_订单支付_sucess+process处理
一:package com.orderpayimport java.utilimport org.apache.flink.cep.{PatternSelectFunction, PatternTimeoutFunction}import org.apache.flink.cep.scala.{CEP, PatternStream}import org.apache.flink.cep.scala.pattern.Patternimport org.apache.flink.streaming.原创 2021-02-22 13:31:49 · 143 阅读 · 0 评论 -
Flink_恶意登录监控
一:当一个用户频繁登录失败用假如用户在短时间内连续登录失败 被认为恶意登录package com.longinfailimport java.utilimport org.apache.flink.api.common.state.{ListState, ListStateDescriptor, ValueState, ValueStateDescriptor}import org.apache.flink.streaming.api.TimeCharacteristicimport org.a原创 2021-02-21 21:06:53 · 128 阅读 · 0 评论 -
Flink_电商用户统计——sql
package com.hotitems_analysisimport java.util.Propertiesimport org.apache.flink.api.common.serialization.SimpleStringSchemaimport org.apache.flink.streaming.api.TimeCharacteristicimport org.apache.flink.streaming.api.scala._import org.apache.flink.str原创 2021-02-19 22:00:30 · 234 阅读 · 0 评论 -
Flink_电商用户行为分析_api调用
一:项目选型:二:电商用户行为分析• 统计分析 实时统计 —Flink– 点击、浏览– 热门商品、近期热门商品、分类热门商品,流量统计• 偏好统计 离线分析(数据量大)----mr,spark– 收藏、喜欢、评分、打标签– 用户画像,推荐列表(结合特征工程和机器学习算法)• 风险控制-------实时风控—Flink– 下订单、支付、登录– 刷单监控,订单失效监控,恶意登录(短时间内频繁登录失败)监控三:实时统计分析;• 实时热门商品统计• 实时热门页面流量统计• 实时访问流原创 2021-02-19 21:11:52 · 201 阅读 · 0 评论 -
Flink_Sql_Function——自定义各种函数
函数(Functions)• Flink Table API 和 SQL 为用户提供了一组用于数据转换的内置函数• SQL 中支持的很多函数,Table API 和 SQL 都已经做了实现Ø 比较函数• SQL:value1 = value2value1 > value2• Table API:ANY1 === ANY2ANY1 > ANY2Ø 逻辑函数• SQL:boolean1 OR boolean2boolean IS FALSENOT boolean• T原创 2021-02-19 14:02:46 · 1438 阅读 · 0 评论 -
Flink_Over Windows
Over Windows• Over window 聚合是标准 SQL 中已有的(over 子句),可以在查询的SELECT 子句中定义• Over window 聚合,会针对每个输入行,计算相邻行范围内的聚合• Over windows 使用 window(w:overwindows*)子句定义,并在 select()方法中通过别名来引用val table = input.window([w: OverWindow] as 'w).select('a, 'b.sum over 'w, 'c原创 2021-02-19 10:49:00 · 636 阅读 · 1 评论 -
Flink_ProcessTime_EventTime_window
一:将动态表转换成DataStream1:Append-only2.Retrach流 如果更新两条消息表示。一条true一条false.流式处理只能这样。3.Upsert(更新插入)流。只包含upsert和delete消息。时间特性(Time Attributes)定义处理时间(Processing Time)Ø 在创建表的 DDL 中定义val sinkDDL: String =“”"|create table dataTable (| id varchar(20) not null原创 2021-02-19 10:07:12 · 302 阅读 · 0 评论 -
Flink_SQL
一:Table API 是一套内嵌在 Java 和 Scala 语言中的查询API,它允许以非常直观的方式组合来自一些关系运算符的查询.二:Flink 的 SQL 支持基于实现了 SQL 标准的 Apache Calcite。三:Maven:org.apache.flinkflink-table-planner_2.121.10.1org.apache.flinkflink-table-api-scala-bridge_2.121.10.1四:程序结构1.source2.tra原创 2021-02-18 23:56:45 · 113 阅读 · 0 评论 -
Flink_状态后端_容错机制_保存点_状态一致性
一:每传入一条数据,有状态的算子任务都会读取状态状态分类:1:MemoryStateBackend键控状态存在TaskManager的jvm堆上chickpoint存储在JobManager的内存中 2: FsStateBackend:将checkpoint存储在远程持久化文件系统(FileSystem)3:RocksDBStateBackend:序列化后存入本地的RockDB中存储。二:Flink容错机制:就是state不丢一致性检查点 checkpoint 故障恢复 在某一个时间点对任务原创 2021-02-18 19:48:59 · 125 阅读 · 0 评论 -
Flink_ProcessFunctionAPI
一:作用:获取eventtime watermarkprocessFunction 继承RichFunction(生命周期,获取运行时上下文,状态编程) 独特含有定时器 onTemer()注册未来时刻定时器分流操作: ProcessFunction //最底层 dataStream.process() KeyedProcessFunction CoProcessFunction ProcessJoinFunction BroadcastProces原创 2021-02-18 15:20:07 · 55 阅读 · 0 评论 -
Flink_状态管理
一:本地变量(分布式系统):Flink中的状态:为了得到最新输出(reduce |window) 依赖另外的数据。这些数据就叫做状态。本地变量。二:状态的类型1.算子状态(Operator State) 当前算子任务都能访问到a:List state 将状态表示为一组数据的列表b:Union state 将c:广播状态 broadcast state` 2.键控状态(Keyed State) 不同的key访问不同状态 更常用。 key by 之后。 键控状态 对每一个key都保存了自己的原创 2021-02-18 13:48:47 · 99 阅读 · 0 评论 -
Flink_时间语义(事件时间)——watamark
一:时间语义:1.Event Time2.Ingestion Time 数据进入Flilnk的时间3.Processing Time;执行操作算子的本地系统时间二: 由于网络、分布式等原因,导致乱序的产生,所谓乱序,就是指 Flink 接收到的事件的先后顺序不是严格按照事件的 Event Time 顺序排列的。三:解决迟到数据:Watermark 与window连用。Watermark 是一种衡量 Event Time 进展的机制。Watermark 是一种衡量 Event Time 进展的原创 2021-02-14 17:02:15 · 323 阅读 · 0 评论 -
Flink_windowApi
一:Window 是无限数据流处理的核心,Window 将一个无限的stream 拆分成有限大小的”buckets”桶,我们可以在这些桶上做计算操作。二:滚动窗口 先分组 再开窗三:滑动窗口:四会话窗口窗口分配器def window[W <: Window](assigner: WindowAssigner[_ >: T, W]): WindowedStream[T, K, W] = {new WindowedStream(new WindowedJavaStream[T, K原创 2021-02-14 16:15:32 · 144 阅读 · 1 评论 -
Flink_Transform_sinkMysql_kafka_sinkandsource
一:Transform1.简单转换算子 map flatMap Filter2.键控流转换算子 KeyBy DataStream → KeyedStream:逻辑地将一个流拆 分成不相交的分区,每个分区包含具有相同 key 的元 素,在内部以 hash 的形式实现的。3.滚动聚合算子(Rolling Aggregation)sum() min() max() minBy() maxBy()4.提取当前每个传感器的最低温度。package com.atguigu.sourceim原创 2021-02-13 23:22:58 · 56 阅读 · 0 评论 -
Flink_source
1.maven依赖 读取kafkaorg.apache.flinkflink-connector-kafka-0.11_2.121.10.12.bin/kafka-server-start.sh -daemon config/server.properties //开启kafka服务3.kafka作为数据源package com.atguigu.source//**********import java.util.Properties import org.apache.flink.原创 2021-02-13 22:53:35 · 59 阅读 · 0 评论 -
Flink_02Scala开发基础篇
一:Maven依赖org.apache.flinkflink-scala_2.121.10.1org.apache.flinkflink-streaming-scala_2.121.10.1二:批处理的wcpackage com.atguigu.wcimport org.apache.flink.api.scala.ExecutionEnvironment//引入包对象的隐式转换import org.apache.flink.api.scala._//object Word原创 2021-02-13 00:22:40 · 265 阅读 · 0 评论 -
Flink_01理论基础
合流操作package com.atguigu.wc//合流操作import org.apache.flink.streaming.api.scala._object ConnectStream {def main(args: Array[String]): Unit = {val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironmentval inputstream:...原创 2021-02-08 23:57:40 · 71 阅读 · 1 评论