
Flink
文章平均质量分 83
magic_kid_2010
这个作者很懒,什么都没留下…
展开
-
flink 继承 hadoop3 编译实践
由于 hadoop 升级,flink 使用 1.8 版本,需要自定义编译继承 hadoop 3.3.1。由于历史原因,使用的 flink 版本较低,建议大家使用 flink 1.10 及以上的版本。一、编译 flink1、下载源码git clone -b release-0.8 https://github.com/apache/flink.git注意:可根据依赖的 flink 版本,切换到对应的分支。2、编译源码# skip testmvn clean insta原创 2022-02-22 16:46:52 · 1032 阅读 · 0 评论 -
Flink 快照分析:定位大状态和数据倾斜的算子
参照:Flink 快照分析:定位大状态和数据倾斜的算子 - 云+社区 - 腾讯云在 Flink 作业中,无论是 SQL 还是 JAR 模式,常常会直接或者间接地使用到状态(State)。当 Flink 进行快照时,用户定义的这些状态数据可以被保存在状态点中,以供后续的崩溃恢复。Flink 的状态分为 Operator State 和 Keyed State,而 Keyed State 又可以分为 ValueState、MapState、ListState、AggregatingState、Mergin原创 2021-10-22 13:51:57 · 335 阅读 · 0 评论 -
读取 Flink 快照信息
1、脚本编写package com.igg.flink.tool.test;import lombok.extern.slf4j.Slf4j;import org.apache.commons.io.FileUtils;import org.apache.flink.api.java.tuple.Tuple2;import org.apache.flink.core.memory.ByteArrayInputStreamWithPos;import org.apache.flink.co.原创 2021-10-22 13:40:41 · 594 阅读 · 0 评论 -
Flink SQL Client CLI 使用入门
参照:https://blog.youkuaiyun.com/boling_cavalry/article/details/105964425一、SQL ClientFlink 的 Table & SQL API 可以处理 SQL 语言编写的查询语句,但是这些查询需要嵌入用 Java 或 Scala 编写的程序中。此外,这些程序在提交到集群前需要用构建工具打包。这或多或少限制了 Java/Scala 程序员对 Flink 的使用。SQL 客户端 的目的是提供一种简单的方式来编写、调试和提交表程序到.原创 2021-04-07 15:57:03 · 5165 阅读 · 0 评论 -
Flink Table API & SQL编程指南(1)
本文来自:https://jiamaoxiang.top/2020/05/25/Flink-Table-API-SQL%E7%BC%96%E7%A8%8B%E6%8C%87%E5%8D%97/概述Apache Flink提供了两种顶层的关系型API,分别为Table API和SQL,Flink通过Table API&SQL实现了批流统一。其中Table API是用于Scala和Java的语言集成查询API,它允许以非常直观的方式组合关系运算符(例如select,where和join)的查询。原创 2021-01-12 10:50:55 · 308 阅读 · 0 评论 -
探究 Flink on YARN 模式下 TaskManager 的内存分配
一、任务提交我们使用如下的参数提交了Flink on YARN作业flink run -m yarn-cluster -p 4 -yjm 3072 -ytm 4096 -ynm flink-test -d -c com.test.Test flink-test-1.0.0-SNAPSHOT.jar二、查看内存情况该作业启动了1个TaskManager,占用4个slot,并正常运行。来到该任务的Web界面,打开TaskManager页面,看看它的内存情况。虽然我们在参数中设置了 T原创 2020-08-18 15:15:11 · 1535 阅读 · 0 评论 -
基于 Flink 和 Drools 的实时日志处理
来源:http://www.cnblogs.com/luxiaoxun/背景日志系统接入的日志种类多、格式复杂多样,主流的有以下几种日志: filebeat采集到的文本日志,格式多样 winbeat采集到的操作系统日志 设备上报到logstash的syslog日志 接入到kafka的业务日志 以上通过各种渠道接入的日志,存在2个主要的问题: 格式不统一、不规范、标准化不够 如何从各类日志中提取出用户关心的指标,挖掘更多的业务价值 为了解决上转载 2020-07-24 17:40:55 · 267 阅读 · 0 评论 -
Flink1.8 批作业实战:读取文本数据, 写入 mysql
1、项目介绍从 hdfs 读取文本数据,使用 flink table api/api 对数据进行统计处理,然后将结果写入 mysql2、pom.xml<!-- flink table --><dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-table-planner_${scala.binary.version}</artifactId&g原创 2020-07-15 15:07:34 · 922 阅读 · 0 评论 -
Flink 对于迟到数据的处理
WaterMark 和 Window 机制解决了流式数据的乱序问题,对于因为延迟而顺序有误的数据,可以根据eventTime进行业务处理。Event Time语义下我们使用Watermark来判断数据是否迟到。一个迟到元素是指元素到达窗口算子时,该元素本该被分配到某个窗口,但由于延迟,窗口已经触发计算。目前Flink有三种处理迟到数据的方式:直接将迟到数据丢弃 将迟到数据发送到另一个...原创 2020-04-29 17:42:13 · 1662 阅读 · 0 评论 -
Flink 1.9 实战:使用 SQL 读取 Kafka 并写入 MySQL
原文链接:https://wuchong.me/blog/2019/09/02/flink-sql-1-9-read-from-kafka-write-into-mysql/演示代码已经开源到了 GitHub 上:https://github.com/wuchong/flink-sql-submit这份代码主要由两部分组成:1) 能用来提交 SQL 文件的 SqlSubmit 实现。2)...原创 2020-03-30 16:02:21 · 537 阅读 · 0 评论 -
Flink window 数据倾斜 解决思路
原文链接:https://blog.youkuaiyun.com/IT_Lee_J_H/article/details/88641894这里阐述一下Flink中 window间的数据倾斜的解决思路,不做代码展现。场景: 分项目统计某个时间粒度的 pv 数据数据情况: 每个项目的数据量不同,某个项目的数据量很大,导致这个项目的窗口中的数据很大,发生倾斜。解决思路:思...原创 2020-03-30 15:26:36 · 2007 阅读 · 0 评论 -
Flink 零基础实战教程:如何计算实时热门商品
原文:https://wuchong.me/blog/2018/11/07/use-flink-calculate-hot-items/通过本文你将学到:如何基于 EventTime 处理,如何指定 Watermark 如何使用 Flink 灵活的 Window API 何时需要用到 State,以及如何使用 如何使用 ProcessFunction 实现 TopN 功能实战案...原创 2020-03-20 20:36:13 · 250 阅读 · 2 评论 -
Flink流计算编程--看看别人怎么用Session Window
原文链接:https://blog.youkuaiyun.com/lmalds/article/details/692670561、简介流处理在实际生产中体现的价值越来越大,Apache Flink这个纯流式计算框架也正在被越来越多的公司所关注并尝试使用其流上的功能。在2017年波兰华沙大数据峰会上,有一家叫做GetInData的公司,分享了一个关于他们内部如何使用Flink的session ...原创 2020-03-09 10:35:50 · 340 阅读 · 0 评论 -
Flink使用Broadcast State实现流处理配置实时更新
来源链接:http://shiyanjun.cn/archives/1857.html,感谢 Yanjun 的分享。Broadcast State是Flink支持的一种Operator State。使用Broadcast State,可以在Flink程序的一个Stream中输入数据记录,然后将这些数据记录广播(Broadcast)到下游的每个Task中,使得这些数据记录能够为所有的Task所共...原创 2020-01-21 13:35:27 · 3014 阅读 · 0 评论 -
Flink 源码解析 —— 深度解析 Flink 是如何管理好内存的?
原文链接:http://www.spring4all.com/article/15410前言如今,许多用于分析大型数据集的开源系统都是用 Java 或者是基于 JVM 的编程语言实现的。最着名的例子是 Apache Hadoop,还有较新的框架,如 Apache Spark、Apache Drill、Apache Flink。基于 JVM 的数据分析引擎面临的一个常见挑战就是如何在内存中存...原创 2020-01-10 15:32:28 · 226 阅读 · 0 评论 -
如何基于Flink+TensorFlow打造实时智能异常检测平台?只看这一篇就够了
原文链接:https://cloud.tencent.com/developer/article/1460086前线导读:Flink 已经渐渐成为实时计算引擎的首选之一,从简单的实时 ETL 到复杂的 CEP 场景,Flink 都能够很好地驾驭。本文整理自携程实时计算负责人潘国庆在 QCon 全球软件开发大会(北京站)2019 的演讲,他介绍了携程如何基于 Flink 与 TensorFlow...原创 2020-01-10 15:23:24 · 918 阅读 · 0 评论 -
流计算框架 Flink 与 Storm 的性能对比
原文链接:https://mp.weixin.qq.com/s/b8Jiqj_SXM1acckTPyv57g概述: 将分布式实时计算框架 Flink 与 Storm 进行性能对比,为实时计算平台和业务提供数据参考。1. 背景Apache Flink 和 Apache Storm 是当前业界广泛使用的两个分布式实时计算框架。其中Apache Storm(以下简称“Storm”)在美团点...原创 2020-01-10 15:12:12 · 284 阅读 · 0 评论 -
OPPO 数据中台之基石:基于 Flink SQL 构建实数据仓库
原文链接:https://www.infoq.cn/article/FJxTIbYCUPlB*Gcokey5本文整理自 2019 年 4 月 13 日在深圳举行的 Flink Meetup 会议,分享嘉宾张俊,目前担任 OPPO 大数据平台研发负责人,也是 Apache Flink contributor。本文主要内容如下: OPPO 实时数仓的演进思路; 基于 Flink...原创 2020-01-10 15:06:44 · 449 阅读 · 0 评论 -
Flink parallelism 和 Slot 介绍
原文链接:https://cloud.tencent.com/developer/article/1400012parallelism 是并行的意思,在 Flink 里面代表每个任务的并行度,适当的提高并行度可以大大提高 job 的执行效率,比如你的 job 消费 kafka 数据过慢,适当调大可能就消费正常了。那么在 Flink 中怎么设置并行度呢?如何设置 parallelism?...原创 2020-01-10 14:49:59 · 1442 阅读 · 0 评论 -
详解 Flink Metrics 原理与监控实战
本文由 Apache Flink Contributor 刘彪分享,对什么是 Metrics、如何使用 Metrics 两大问题进行了详细的介绍,并对 Metrics 监控实战进行解释说明。什么是 Metrics?Flink 提供的 Metrics 可以在 Flink 内部收集一些指标,通过这些指标让开发人员更好地理解作业或集群的状态。由于集群运行后很难发现内部的实际状况,跑得慢或快,是否...原创 2020-01-10 14:06:41 · 4013 阅读 · 0 评论 -
一文彻底搞懂 Flink 网络流控与反压机制
原文地址:https://www.jianshu.com/p/2779e73abcb8Flink 流处理为什么需要网络流控?分析一个简单的 Flink 流任务,下图是一个简单的Flink流任务执行图:任务首先从 Kafka 中读取数据、 map 算子对数据进行转换、keyBy 按照指定 key 对数据进行分区(相同 key 的数据经过 keyBy 后分到同一个 subtask 实例中),k...原创 2020-01-10 11:20:29 · 448 阅读 · 0 评论 -
Flink on yarn 集群启动步骤
一、Flink on yarn 集群搭建。见笔者的博文:https://blog.youkuaiyun.com/magic_kid_2010/article/details/97004746二、Flink on yarn 集群启动步骤。步骤1:用户向 YARN 提交应用程序,其中包括 ApplicationMaster 程序、启动ApplicationMaster的命令、用户程序等。步骤2:R...原创 2020-01-09 15:48:59 · 998 阅读 · 0 评论 -
Flink 使用 logback
Flink 默认使用的日志记录器是 log4j,但是我们想使用 logback,要如何操作呢?1、pom.xml 中的 jar 剔除 log4j 相关包如:<dependencies> <!-- Add the two required logback dependencies --> <dependency> <groupId>...原创 2020-01-09 15:41:14 · 1360 阅读 · 0 评论 -
基于Kafka+Flink+Hutool的用户言论实时监控案例
前言当前在互联网上的言论众多,如何对用户的言论进行实时监控和报警呢?并且,对于监控的敏感词经常要进行变更,如何实现动态更新呢?下面,笔者就带领大家进入实战环节。用户数据写入假设从 kafka 接收的消息格式如下:{ "userId": 10010, "content": "我爱你中国", "createTime": "2020-01-01 12:00:00...原创 2020-01-09 15:03:28 · 1045 阅读 · 0 评论 -
在 Flink 应用程序中传递和使用参数
几乎所有的 Flink 应用程序,包括批处理和流处理,都依赖于外部配置参数,这些参数被用来指定输入和输出源(如路径或者地址),系统参数(并发数,运行时配置)和应用程序的可配参数(通常用在自定义函数中)。Flink 提供了一个简单的叫做 ParameterTool 的使用工具,提供了一些基础的工具来解决这些问题,当然你也可以不用这里所描述的ParameterTool,使用其他的框架,如:Comm...原创 2020-01-09 14:09:41 · 5968 阅读 · 1 评论 -
Flink 踩坑记
1、flink sink to kafka 报错 java.lang.NoSuchMethodError: org.apache.flink.api.java.ClosureCleaner.clean(Ljava/lang/Object;Z)VCaused by: java.lang.NoSuchMethodError: org.apache.flink.api.java.ClosureCl...原创 2019-12-20 16:59:04 · 8255 阅读 · 0 评论 -
基于Kafka+Flink+Redis的电商大屏实时计算案例
前言阿里的双11销量大屏可以说是一道特殊的风景线。实时大屏(real-time dashboard)正在被越来越多的企业采用,用来及时呈现关键的数据指标。并且在实际操作中,肯定也不会仅仅计算一两个维度。由于Flink的“真·流式计算”这一特点,它比Spark Streaming要更适合大屏应用。本文从笔者的实际工作经验抽象出简单的模型,并简要叙述计算流程(当然大部分都是源码)。数据格式...原创 2019-12-19 14:44:42 · 185 阅读 · 0 评论 -
Flink watermark 水位线简介
详见:https://blog.youkuaiyun.com/lmalds/article/details/52704170补充说明:1、例子的并发度是1,如果是多并发时,情况是不一样的。env.setParallelism(1);2、对于多并发情况,各个进程之间的水位线是独立的,也就是每个进程之间有各自的水位线。但是当某个进程触发了自己的窗口,也会触发其他进程相同的窗口,保证了水位线窗口中...转载 2019-12-06 14:32:26 · 356 阅读 · 0 评论 -
亿级数据从 MySQL 到 Hbase 的三种同步方案与实践
详见:亿级数据从 MySQL 到 Hbase 的三种同步方案与实践转载 2019-11-27 13:48:30 · 231 阅读 · 0 评论 -
Flink1.8 on yarn 环境搭建及使用
一、下载 flink包官网下载flink-1.8.1-bin-scala_2.11.tgz,然后解压下载地址 https://flink.apache.org/downloads.html二、下载 hadoop依赖包官网下载flink-shaded-hadoop-2-uber-2.8.3-7.0.jar拷贝到${flink_home}/lib/目录下下载地址 https://...原创 2019-07-23 16:49:15 · 2217 阅读 · 3 评论 -
Flink消费Rabbit数据,写入HDFS - 使用 BucketingSink
一、应用场景:Flink 消费 Kafka 数据进行实时处理,并将结果写入 HDFS。二、Bucketing File Sink由于流数据本身是无界的,所以,流数据将数据写入到分桶(bucket)中。默认使用基于系统时间(yyyy-MM-dd--HH,0时区)的分桶策略。在分桶中,又根据滚动策略,将输出拆分为 part 文件。1、Flink 提供了两个分桶策略,分桶策略实现了...原创 2019-07-17 13:24:13 · 3425 阅读 · 1 评论 -
Flink StreamFileSink与BucketingSink的区别
一、共同点都是继承自 org.apache.flink.streaming.api.functions.sink.RichSinkFunction 都可以将分区文件,以桶的形式写入文件系统 都可以设置桶的命名、滚动策略、写入方式、检查间隔等 默认的桶名称,都是以系统时间yyyy-MM-dd--HH 文件有三种状态:in-progress,pending 和 finished。二、不同...原创 2019-07-17 15:33:01 · 4135 阅读 · 0 评论 -
Flink1.8开发过程遇到的问题
最近在开发flink1.8过程中,提交任务到yarn遇到了一些问题,特将问题及解决办法整理出来。一、Caused by: java.lang.ClassCastException: org.apache.hadoop.yarn.proto.YarnServiceProtos$RegisterApplicationMasterRequestProto cannot be cast to com....原创 2019-07-24 15:21:33 · 15445 阅读 · 5 评论 -
Flink Web UI 介绍
一、提交flink任务到yarn。./flink run -m yarn-cluster -yn 1 -p 2 -yjm 1024 -ytm 1024 -ynm FlinkOnYarnSession-MemberLogInfoProducer -d -c com.igg.flink.tool.member.rabbitmq.producer.MqMemberProducer /home/te...原创 2019-07-24 15:58:01 · 23513 阅读 · 3 评论 -
Flink REST API 的使用
一、前言 Flink有一个监视 API,可以用来查询正在运行的作业以及最近完成的作业的状态和统计信息。这个监视API由Flink自己的仪表板使用,但也被设计用于定制监视工具。 监视API是一个REST-ful API,它接受HTTP请求并使用JSON数据进行响应。 默认情况下,此服务器监听8081端口,可以在flink-conf.yaml中配置rest.port。注意...原创 2019-07-24 17:55:22 · 7387 阅读 · 0 评论 -
Flink 中 DataStream / DataSet 与 Table 的相互转换
最近在使用Flink Table API,将 DataStream/DataSet 与 Table 的相互转换方法进行总结。一、pom.xml导入需要的包<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-streaming-scala_${s...原创 2019-07-30 18:07:25 · 4266 阅读 · 1 评论 -
Flink 自定义Sink 之 写入HDFS
一、pom.xml添加依赖。<dependency> <groupId>org.apache.flink</groupId> <artifactId>flink-connector-filesystem_${scala.binary.version}</artifactId> <version>${flink...原创 2019-08-08 18:04:55 · 7704 阅读 · 1 评论 -
Flink on yarn 查看SubTask运行的服务器
在任务实际运行过程中,有时发现某个subtask存在某在问题,如CheckPoint较慢,吞吐较慢等。就需要对问题进行排查,定位出subtask所在的服务器。下面,就教大家如何查看各个subtask运行的服务器。一、登陆yarn ui,进入flink ui界面。二、获取jobid。三、通过 rest api 获取 subtask 的vertice id。...原创 2019-08-07 17:35:14 · 1344 阅读 · 0 评论 -
Flink消费Kafka数据,写入HDFS - 使用 StreamingFileSink
一、应用场景:Flink 消费 Kafka 数据进行实时处理,并将结果写入 HDFS。二、Streaming File Sink由于流数据本身是无界的,所以,流数据将数据写入到分桶(bucket)中。默认使用基于系统时间(yyyy-MM-dd--HH)的分桶策略。在分桶中,又根据滚动策略,将输出拆分为 part 文件。1、Flink 提供了两个分桶策略,分桶策略实现了o...原创 2019-07-16 13:38:28 · 13269 阅读 · 6 评论