![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Flink
诸葛子房_
先后就职于京东和BAT,在大数据领域有多年工作经验;
Apache Griffin&&Apache Zeppelin Contributor,dataCompare和dataService作者
展开
-
Apache StreamPark系列教程第二篇——项目打包和开发
默认是h2(内存数据库,项目重新启动,数据库信息丢失),因此建议修改为mysql,同时workspace路径目录也需要修改。备注:Flink SQL demo会运行一段时间之后自动结束,因为代码里面设置自动生成数据是增量数据,如果想任务一直运行。Flink Home 配置:/root/flink/flink-1.14.5 上述flink 的安装路径。修改完成之后点击release(发布作业)然后start(启动作业),任务即可启动成功。访问http://ip:10000 没问题即认为安装无误。原创 2023-08-24 11:00:44 · 1649 阅读 · 0 评论 -
Apache StreamPark系列教程第一篇——安装和体验
时发现从编程模型, 启动配置到运维管理都有很多可以抽象共用的地方, 我们将一些好的经验固化下来并结合业内的最佳实践, 通过不断努力终于诞生了今天的框架 ——备注:Flink SQL demo会运行一段时间之后自动结束,因为代码里面设置自动生成数据是增量数据,如果想任务一直运行。规范了项目的配置,鼓励函数式编程,定义了最佳的编程方式,提供了一系列开箱即用的。开发,可以极大降低学习成本和开发门槛, 让开发者只用关心最核心的业务,,标准化了配置、开发、测试、部署、监控、运维的整个过程, 提供了。原创 2023-08-23 22:43:26 · 2122 阅读 · 0 评论 -
一次线上Flink 背压情况分析之重新认识java dump 文件
1.背压情况发送端情况满,可以看背压图以及看flink 任务 back pressure 是否high2.解决问题thread dump 分析3.Thread dump 文件关键信息可以看到对应的行数代码分析可能出现异常原因:countDownLatch 没有为04.java 异常分析head dump:JVM 内存信息 jmapThread dump:线程信息 jstackJVM Heap dump和Thread dump - 简书 (ji...原创 2021-11-26 14:35:38 · 2791 阅读 · 1 评论 -
从0到1构建一个Flink SQL流式计算平台
1.引入pom 文件2.读kafka 数据sink 到mysql 里面sink mysql 出现相关问题处理参考:flink-table-connector-mysql-sink,程序直接退出,不报错,数据没sink到mysql表中 - 代码先锋网 (codeleading.com)3.读kafka 数据sink 到kafka4.读kafka 数据print可通过可配置话的方式去实现,sql 放在文件里面,然后读取文件进行解析zhp8341/flink-streaming原创 2021-11-23 15:31:43 · 1775 阅读 · 2 评论 -
Flink table&SQL 的使用
1.pom文件<?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/m原创 2021-09-27 16:55:03 · 207 阅读 · 0 评论 -
Flink 异步IO优化任务
1.通过监控,发现操作耗时,hbase get 操作耗时在10-20ms,高的时候能达到40-50ms,低的时候10ms以内2.解决方案采用flink 异步io 优化代码final long timeout = 40000;AsyncFunction<String, String> function = new AlbumAsyncFunction();DataStream<String> resultStream = AsyncDataStream.un.原创 2021-09-23 19:22:29 · 500 阅读 · 0 评论 -
Flink 运行时日志分析
1.taskmanager2.taskmanager.loglog.info、debug、error 日志都打到这个里面3.taskmanager.erre.printStackTrace();4.taskmanager.outSystem.out.println("========111111==========");原创 2021-09-18 11:44:42 · 1725 阅读 · 1 评论 -
Flink 动态更新配置,不需要重启作业
我们知道 Flink 作业的配置一般都是通过在作业启动的时候通过参数传递的,或者通过读取配置文件的参数,在作业启动后初始化了之后如果再想更新作业的配置一般有两种解决方法:(1)改变启动参数或者改变配置文件,重启作业,让作业能够读取到修改后的配置()(2)通过读取配置流(需要自定义 Source 读取配置),然后流和流连接起来(3)读取配置信息,从mysql或者redis今天介绍的是一种用配置中心。携程 apollo、spring cloud config、nacos 等Flink op.原创 2021-08-10 11:36:49 · 3800 阅读 · 4 评论 -
Flink Exactly-Once
checkpointbarrier 对齐(精准一次)不对齐(至少一次)https://zhuanlan.zhihu.com/p/266620519原创 2021-05-25 11:32:14 · 94 阅读 · 0 评论 -
京东实时计算架构演进之路
一、背景:从2004年开始,京东进军互联网线上化开始到至今,随着京东的高速发展,京东商城的订单量从万级到百万级、最终到达亿级。而对于实时的数据需求也是层出不穷,实时计算架构随着数据量的增长,不断进行革新。**二、京东实时计算架构演进之路**(1)订单量万级、百万级(以京东海外站为例)在订单量万级、百万级别的时候,也存在不少实时的数据需求,比如:商家需要看看自己每天的成交量、老板需要看看整体的成交金额,以为后续的融资做准备。类似于现在很多的a、b轮创业公司数据体量。解决方案:而此时为了节省更少的原创 2020-03-26 18:49:48 · 1129 阅读 · 0 评论 -
Flink 多个stream合并聚合
1.Flink多个stream合并union、connectconnect只能连接两个流,而union可以连接多于两个流 。connect连接的两个流类型可以不一致,而union连接的流的类型必须一致。2.使用DataStream dataStream = pcDataStream.union(appDataStream).union(mDataStream);类似于:storm ...原创 2020-01-16 11:39:44 · 5911 阅读 · 0 评论 -
Flink state 详解
checkPoint简介 为了保证state的容错性,Flink需要对state进行checkpoint。 Checkpoint是Flink实现容错机制最核心的功能,它能够根据配置周期性地基于Stream中各个Operator/task的状态来生成快照,从而将这些状态数据定期持久化存储下来,当Flink程序一旦意外崩溃时,重新运行程序时可以有选择地从这些快照进行恢复,从而修正因为故...原创 2019-12-11 09:43:51 · 1257 阅读 · 0 评论 -
Flink 写es
1.pom<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-elasticsearch6_2.11</artifactId> <version>1.8.0</version><...原创 2019-11-17 11:40:23 · 1265 阅读 · 0 评论 -
Flink消费kafka数据
1.pom<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-clients_2.12</artifactId> <version>1.8.0</version></dependency>...原创 2019-11-17 11:38:13 · 1060 阅读 · 0 评论 -
Flink背压原理以及解决优化
由于进行双11压测,遇到了Flink的背压问题。1.背压的监控如果看到任务的背压警告(如 High 级别),这意味着生成数据的速度比下游算子消费的的速度快。以一个简单的 Source -> Sink 作业为例。如果能看到 Source 有警告,这意味着 Sink 消耗数据的速度比 Source 生成速度慢。Sink 正在向 Source 施加反压。许多情况都会导致背压。例如,G...原创 2019-10-22 23:11:13 · 6384 阅读 · 0 评论 -
Flink应用优化实践
1.问题定位(接入监控系统,在关键点位加入监控点)2.HBase表优化实践发现HBase数据保存以及查询一直耗时较高,联系HBase同事,做了限流处理,解决限流3.HBase优化之后,发现仍然耗时较大,看到大部分请求走HBase,上面再做一层缓存,用redis做缓存,调用数量明显减少4.请求接口监控,增加缓存,减少请求接口数量5.最后kafka消费终于上去了,...原创 2019-09-25 18:52:38 · 3521 阅读 · 3 评论 -
Flink实时计算大促压测实践
一、背景:临近双11大促,为避免流量峰值较高,电商公司都会对系统进行压测。一直做实时数据计算,应用是基于Flink做的,接收kafka消息,进行数据统计,包括:pv、uv、dau、单量、成交额等等。为了保证应用在大促期间不出问题,需要进行实时计算程序进行压测。由于统计的数据分为两类(流量数据、订单数据),对这两类数据进行不同方式的压测。二、压测准备(1)压测时间选择:一般...原创 2019-10-22 22:43:20 · 1829 阅读 · 3 评论 -
Flink实时计算指标对数方案
对于一个实时数据产品人员、或者开发人员来说,产品上展示的实时数据,pv、uv、gmv等等,怎么知道这些数据是不是正确的呢?当其他的小组开发的产品的数据(或者其他的数据提供方)又是另外一个数字,那么究竟该如何判断自己的数据还是别人的数据是正确的呢?这就需要一套实时数据对数方案,本文主要从背景、实时数据计算方案、对数方案、总结四方面来介绍,说服老板或者让其他人相信自己的数据是准确的、无误的。一、背...原创 2019-10-16 21:12:50 · 1633 阅读 · 0 评论 -
实时数仓宽表加工解决方案
一.实时数据仓库与离线数据仓库由于离线数据每天凌晨拉去线上生成数据库(凌晨请求较少,减少线上库压力),导致数据是T+1,而对于一些时效性要求较强的场景。比如需要看现在的用户数、GMV等等,离线方案就很难解决了。实时数据仓库就是刚好为了满足时效性要求较高的场景下而生的,但是在做实时数据仓库中经常会遇到一些问题。离线由于表数据都同步到数据仓库中,可以进行随意关联,出一些业务想要的统计结果。但是...原创 2019-08-28 09:55:47 · 4503 阅读 · 3 评论 -
Flink在各大互联网公司的应用
1.基于Flink的大数据流批计算 360张馨予https://ppt.baomitu.com/d/6ad5a17a2.OPPO 数据中台之基石:基于 Flink SQL 构建实数据仓库http://www.raincent.com/content-10-13319-1.html3.基于 Flink 的严选实时数仓实践https://www.infoq.cn/articl...原创 2019-08-05 09:39:33 · 1391 阅读 · 0 评论 -
Flink窗口——window
时间窗口(按时间进行统计)个数窗口(按个数进行统计)参考:https://blog.csdn.net/weixin_43291055/article/details/101421939会话窗口参考:https://blog.csdn.net/lmalds/article/details/51604501...原创 2019-09-26 14:50:21 · 168 阅读 · 0 评论 -
Flink时间处理——水印
问题:今天写Flink批量向mysql写数据的时候,个数窗口可以成功,但是按照时间窗口存在问题排查:经过排查,发现是时间有问题,写了按照事件时间处理env.setStreamTimeCharacteristic(TimeCharacteristic.EventTime);但是写入的数据,没有时间戳,因此一直在产生数据,但是没写入操作。最终改成处理时间解决完毕env....原创 2019-09-26 10:21:43 · 523 阅读 · 0 评论 -
Flink批量写入mysql
1.参考Flink写mysqlhttps://blog.csdn.net/weixin_43291055/article/details/1009726942.新增批量写入函数xml<insert id="insertBatch" parameterType="java.util.List"> insert into sku_info (sku,num) va...原创 2019-09-26 09:58:40 · 5752 阅读 · 0 评论 -
Flink自定义sink写入mysql
采用mybatis配置参考:https://blog.csdn.net/weixin_43291055/article/details/100152026只需要在sink的时候自定义sink即可,核心代码如下:public class SinkTest extends RichSinkFunction<TestModel> { private UserMappe...原创 2019-09-18 09:38:50 · 5350 阅读 · 0 评论 -
Flink自定义source、自定义sink
1.自定义source 继承RichSourceFunctionpublic class TestSource extends RichSourceFunction<String> { private volatile boolean isRunning = true; @Override public void open(Configuration ...原创 2019-09-17 20:53:42 · 703 阅读 · 0 评论 -
Flink读取本地文件
1.nc -l 9090public static void main(String[] args) throws Exception { try { final StreamExecutionEnvironment env = StreamExecutionEnvironment.getExecutionEnvironment(); env.enab...原创 2019-09-17 20:25:11 · 11198 阅读 · 1 评论 -
Flink源码解析
flink源码解析:https://download.csdn.net/download/weixin_43291055/11754596原创 2019-09-17 09:59:20 · 142 阅读 · 0 评论 -
Flink 操作mapper、sink解析
1.pom<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.11</artifactId> <version>1.5.6</version></dependen...原创 2019-09-11 09:45:40 · 739 阅读 · 0 评论 -
Flink读取网络数据
1.pom<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-java_2.11</artifactId> <version>1.5.6</version></depende...原创 2019-08-16 17:22:50 · 1375 阅读 · 0 评论 -
Flink运行应用
1.打包 package2.运行应用flink run -c com.jd.xq.StartJob /Users/duanxiaoqiu/jdCode/jd-zh/test-flink/target/test-flink-1.0-SNAPSHOT.jar3.输入数据nc -l 90004.查看输出数据tail-fflink-duanxiaoqiu-taskexec...原创 2019-08-20 10:12:01 · 160 阅读 · 0 评论 -
Flink项目应用
1.实时数仓、Data Pipeline接kafka实时消息数据关联维表信息(离线表)进行字段补全,输出新的topic到kafkapv、cl、od等实时数据消息接入kafka,进行消费补齐数据的处理逻辑:离线hive表数据推送到hbase+redis,实时处理的时候去关联,如果查不到调线上接口查询,可以避免所有查询调用线上接口,减少接口压力。离线数仓分层方案:2....原创 2019-08-14 09:50:24 · 349 阅读 · 0 评论 -
JD Flink教程
1.Flink体系架构:2.Flink生态圈组件3.主从架构https://mp.weixin.qq.com/s/ahrHqyF4PC0Vv7suUf3oiA原创 2019-07-16 10:05:31 · 233 阅读 · 0 评论 -
Apache Flink教程----2.本地开发
Apache Flink教程----2.本地开发1.pom<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-clients_2.12</artifactId> <ver...原创 2019-05-05 17:07:00 · 357 阅读 · 0 评论 -
Apache Flink 学习教程----持续更新
Flink 官网:https://flink.apache.org/Flink 社区:https://zh.ververica.com/Flink 教程:http://mp.weixin.qq.com/mp/homepage?__biz=MzIxMTE0ODU5NQ==&hid=5&sn=ff5718eced55d78a92ee79fc887acd45&scene...原创 2019-04-30 10:14:00 · 493 阅读 · 0 评论 -
Apache Flink教程----1.安装初体验
Apache Flink教程----1.安装初体验1.window 版本安装https://flink.apache.org/downloads.html#apache-flink-164D:\flink-1.6.2-bin-scala_2\flink-1.6.2\bin2.mac版本安装brewinstallapache-flink 安装flink-...原创 2019-04-29 16:51:00 · 331 阅读 · 0 评论 -
Apache Flink教程
Apache Flink教程官网:https://flink.apache.org/flink 中文社区:https://zh.ververica.com/zhisheng:http://mp.weixin.qq.com/mp/homepage?__biz=MzIxMTE0ODU5NQ==&hid=5&sn=ff5718eced55d78a92ee79fc887ac...原创 2019-04-26 18:13:00 · 223 阅读 · 0 评论