
Flink
Flink
^果然好^
这个作者很懒,什么都没留下…
展开
-
(23)Flink 典型案例
1、Flink 在快手万亿级数据的应用实践总结原创 2020-06-19 09:16:09 · 493 阅读 · 0 评论 -
(21) Kafa-Flink-Mysql
待续原创 2020-05-14 23:37:32 · 228 阅读 · 0 评论 -
(20)MySQL-Canal-Kafa
1、MySql端查看binlog是否开启:show variables like '%log_bin%'my.ini:log_bin=mysql-binbinlog-format=ROWserver-id=12、canal安装https://github.com/alibaba/canal/releases/tag/canal-1.1.3...原创 2020-03-28 13:31:24 · 816 阅读 · 0 评论 -
(13)Flink SQL CDC
转自:Flink SQL CDC 上线!我们总结了 13 条生产实践经验原创 2020-09-04 13:33:02 · 301 阅读 · 0 评论 -
(12)Flink实战-Mysql读取、写入-JDBCInputFormat+JDBCOutputFormat
在flink中没有现成的用来写入MySQL的sink,但是flink提供了一个类,JDBCOutputFormat,通过这个类,如果你提供了jdbc的driver,则可以当做sink使用。JDBCOutputFormat其实是flink的batch api,但也可以用来作为stream的api使用,社区也推荐通过这种方式来进行。JDBCOutputFormat用起来很简单,只需要一个prepared statement,driver和database connection,就可以开始使用了。..原创 2020-06-11 14:28:00 · 7407 阅读 · 3 评论 -
(11)Flink实战-Mysql读取、写入-source+sink
1、pom.xml <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>5.1.33</version> </dependency>2、MysqlReader(sourc原创 2020-06-10 16:37:49 · 2559 阅读 · 0 评论 -
(10)Flink-实战案例(学习笔记)
1、实战案例1-数据清洗学习要点:1、双流操作CoFlatMap(双流操作包括cogroup,join和coflatmap) CoFlatMapFunction简单理解就是当stream1数据到来时,会调用flatMap1方法,stream2收到数据之时,会调用flatMap2方法。2、 没有broadcast,只有部分数据正确处理输出的原因是:代码中没有设置并行度,默认是按机器CPU核数跑的,所以有的线程 allMap 没有数据,有的有数据,所以会导致部分正确,这里需要...原创 2020-06-01 20:50:56 · 3529 阅读 · 0 评论 -
(9)Flink-Time
目录1、三种Time1.1、比较1.2、根据业务选择最合适的时间1.3、设置time类型2、时间戳和水位线背后的机制2.1 Watermarks是干啥的2.2有序流中Watermarks2.3乱序流中Watermarks2.4并行流中的Watermarks3.生成Timestamp和Watermark3.1 Timestamp /Watermark两种生成方式3.1.1 方式一、直接在source function中生成3.1.2方式二、 time..原创 2020-05-30 11:56:57 · 321 阅读 · 0 评论 -
(8)Flink-windows
Flink有3个内置WindowCount Window以事件数量驱动 Time Window以时间驱动 Session Window以会话间隔驱动Count Window计数窗口,采用事件数量作为窗口处理依据。计数窗口分为滚动和滑动两类,使用keyedStream.countWindow实现计数窗口定义。Tumbling Count Window 滚动计数窗口 例子:以用户分组,当每位用户有3次付款事件时计算一次该用户付款总金额。下图中“消息A、B、C、D”代表4位不同用户,我们...原创 2020-05-21 16:02:22 · 384 阅读 · 0 评论 -
(7)Flink-CheckPoint
目录1、checkpoint2、StateBackend3、Restart Strategies3、SavePoint1、checkpoint默认情况下,checkpoint不会被保留,取消程序时即会删除它们,但是可以通过配置保留定期检查点。开启Checkpoint功能,有两种方式。其一是在conf/flink_conf.yaml中做系统设置;其二是针对任务再代码里灵活配置。推荐第二种方式,针对当前任务设置,设置代码如下所示://获取flink的运行环境final Strea原创 2020-06-18 15:17:03 · 1182 阅读 · 0 评论 -
(6)Flink-State
引用众所周知,flink是有状态的计算。所以学习flink不可不知状态。正好最近有个需求,要用到flink的状态计算,需求是这样的,收集数据库新增的数据。听起来很简单对吧?起初我也这么认为,现在发现,这尼玛就是变相的动态读取啊。因为数据是一直在增加的,你需要记录这次收集的结果,用于下一次的运算,所以要用到状态计算。废话不多说,直接上干货。关于什么是有状态的flink计算,官方给出的回答是这样的:在flink程序内部存储计算产生的中间结果,并提供给Function或算子计算结果使用。了解了定原创 2020-06-14 20:03:48 · 500 阅读 · 0 评论 -
(5)Flink-并行度parallelism、插槽slot
概述parallelism指的是并行度的意思。在 Flink 里面代表每个任务的并行度,适当的提高并行度可以大大提高 job 的执行效率,比如你的 job 消费 kafka 数据过慢,适当调大可能就消费正常了。 slot指的是插槽的意思,flink中任务的并行性由每个 Task Manager 上可用的 slot 决定。设置并行度的几种方式执行环境层面env.setParallelism(3);算子层面sum(1).setParallelism(3)客户端层面./bin/fl原创 2020-05-21 10:58:33 · 1660 阅读 · 0 评论 -
(4)Flink Broadcast
Streaming Broadcast(元素广播)把元素广播给所有的分区,数据会被重复处理,类似于storm中的allGrouping 使用技巧:dataStream.broadcast() //获取Flink的运行环境 StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.setParallelism(4); //获.原创 2020-05-19 21:07:39 · 1038 阅读 · 0 评论 -
(3)Flink学习- Table API & SQL编程
目录1、概念2、依赖结构3、pom.xml4、java-demo2(单输入、单输出)5、java-demo3(多输入、多输出、Join)1、概念Flink提供不同级别的抽象来开发流/批处理应用程序。模型类比:MapReduce ==> Hive SQLSpark ==> Spark SQLFlink ==> SQL2、依赖结...原创 2020-03-24 21:01:45 · 511 阅读 · 0 评论 -
(2.1)Flink DataStream/DataSet API 详解
参考:Flink DataStream API详解参考:Flink DataSet API详解原创 2020-06-12 16:34:04 · 326 阅读 · 0 评论 -
(2.0)Flink学习-基础知识
1、集群基本架构Flink 整个系统主要由两个组件组成,分别为 JobManager 和 TaskManager,Flink 架构也遵循 Master-Slave 架构设计原则,JobManager 为 Master 节点,TaskManager 为 Worker(Slave)节点。所有组件之间的通信都是借助于 Akka Framework,包括任务的状态以及Checkpoint 触发等信息。...原创 2020-03-19 11:27:25 · 558 阅读 · 0 评论 -
(1)Flink学习-开始篇
1、下载文件flink-1.9.2-bin-scala_2.12.tgz国外镜像下载太慢,可以采用国内的镜像,例如清华大学开源软件镜像站:https://mirrors.tuna.tsinghua.edu.cn/2、安装2.1 本地安装2.2 集群安装2.2.1 Standalone模式独立部署模式,不依赖于其他平台。2.2.2 Flink on Yarn...原创 2020-03-18 22:31:22 · 345 阅读 · 0 评论 -
(0)Java 8 stream-手动编写报表明细实现sql并发
直接上代码: @GetMapping("/report") public String report() { List<String> citys = Arrays.asList("宿迁中院", "宿城", "宿豫", "泗洪", "泗阳", "沭阳"); Stream<String> cityStream = citys.parallelStream(); List<HashMap<String, List&原创 2020-06-18 09:53:06 · 278 阅读 · 0 评论 -
(0)Java 8 stream、map、flatmap
1、Stream 参考:Java 8 新特性Stream 使用一种类似用 SQL 语句从数据库查询数据的直观方式来提供一种对 Java 集合运算和表达的高阶抽象。Stream API可以极大提高Java程序员的生产力,让程序员写出高效率、干净、简洁的代码。这种风格将要处理的元素集合看作一种流, 流在管道中传输, 并且可以在管道的节点上进行处理, 比如筛选, 排序,聚合等。元素流在管道中经过中间操作(intermediate operation)的处理,最后由最终操作(terminal ...原创 2020-05-19 17:12:55 · 3170 阅读 · 0 评论