- 博客(7)
- 收藏
- 关注
原创 记一次Flink 写Mysql优化
需求: 统计每5分钟内的活跃用户数,并写入mysql,mysql数据结构如下图所示。 时间 活跃用户数 10:00 2 10:05 4 10:10 3 废话不多说,直接上sqlselect p_product, p_project, p_dt, SUBSTRING(FROM_UNIXTIME(UNIX_TIMESTAMP(p_ts)/ 300 * 300), 12, 5), count(distinct device_id)...
2021-03-31 14:25:50
2767
2
原创 聊一聊Flink的监控和预警
在实际的Flink 项目中,如何观察Flink的性能,如何监控Flink的运行状态,如何设置报警策略?下面简单讲下我的经验吧。一、Flink webUI首先聊下Flink webUI。如下图所示:如果是本地调试模式,默认是不开启webui的。StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment();上面的初始化方式,本地调试默认不开启webui。StreamExe
2021-03-31 11:01:55
2294
2
原创 Flink 广播变量实战-实时统计新用户行为
背景:1.所有用户行为存放在kafka中。 2.用户数据存储在Mysql中,当新用户到来时,Mysql会新增一条记录。需求:实时统计新用户行为数据,并写入下游kafka。Flink 广播变量:在此示例中,第一个流将包含Item带有Color和Shape属性的type元素。另一个流将包含Rules。可以看到官方给的例子中,item流类似我们的用户行为,rules流类似于我们的mysql用户表。我们将他们分别称为数据流和广播流。在这里我们利用Canal将mysql...
2021-03-18 18:41:02
1284
原创 聊一聊Flink 写 Hive 的小文件问题
Flink 1.11 引入了写Hive的功能后,已经在上线了一段时间。下面就聊聊我自己对Flink 写Hive 小文件的一些问题和看法。问题1:1.Flink 写 Hive 可能会产生小文件吗?简单的说,答案是会。简单总结下Flink 读kafka写Hive的流程1.Flink 将kafka数据根据设置的分区策略,实时写入对应分区hdfs 目录的临时文件 inprogress,如下图所示。在inprogress文件的数据,通过hive是无法查询到的。2.打checkp..
2021-03-12 11:49:23
5055
2
原创 使用Spark sql 合并 Flink 写Hive表的小文件
1.背景 Flink 1.11支持写直接写入Hive后,流批一体进一步实现。虽然可以通过调整sink.shuffle-by-partition.enable和checkpoint时间间隔的方式尽可能地减少Flink产生的小文件,但是即使Flink 1.12加入了自动合并小文件的功能,也无法完全避免小文件的产生。 所以需要定期对Flink 写hive表的小文件进行合并。2.Hive Tez 方式 合并小文件set hive.exec.dynamic....
2021-03-11 19:01:40
2521
2
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人