Platina_Tomato
码龄7年
关注
提问 私信
  • 博客:29,641
    29,641
    总访问量
  • 27
    原创
  • 1,657,688
    排名
  • 6
    粉丝
  • 0
    铁粉
IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2018-07-08
博客简介:

weixin_42642502的博客

查看详细资料
个人成就
  • 获得14次点赞
  • 内容获得1次评论
  • 获得44次收藏
创作历程
  • 4篇
    2021年
  • 18篇
    2020年
  • 5篇
    2019年
成就勋章
TA的专栏
  • Flink风控项目开发
    5篇
  • Flink个人学习笔记
    14篇
  • Spider
    1篇
  • 推荐项目
    1篇
  • 机器学习
    2篇
创作活动更多

超级创作者激励计划

万元现金补贴,高额收益分成,专属VIP内容创作者流量扶持,等你加入!

去参加
  • 最近
  • 文章
  • 代码仓
  • 资源
  • 问答
  • 帖子
  • 视频
  • 课程
  • 关注/订阅/互动
  • 收藏
搜TA的内容
搜索 取消

剖析Flink出现数据倾斜和解决办法

数据倾斜定义:是指在大规模并行处理的数据中,其中某个运行节点处理的数据远远超过其他部分,这会导致该节点压力极大,最终出现运行失败从而导致整个任务的失败。数据倾斜原理:目前的大数据处理框架,如 Flink、Spark、Hadoop 等之所以能处理高达千亿的数据,是因为这些框架都利用了分布式计算的思想,集群中多个计算节点并行,使得数据处理能力能得到线性扩展。在实际生产中 Flink 都是以集群的形式在运行,在运行的过程中包含了两类进程。其中 TaskManager 实际负责执行计算的 Worker,在
原创
发布博客 2021.03.20 ·
4990 阅读 ·
5 点赞 ·
1 评论 ·
11 收藏

Flink生产---15Redis、JedisUtil

Flink 项目中访问 Redis 的方法都是自己进行的实现,推荐使用 Bahir 连接器。在本地单机情况下:public static class RedisExampleMapper implements RedisMapper<Tuple2<String, String>>{ @Override public RedisCommandDescription getCommandDescription() { return new RedisC
原创
发布博客 2021.03.20 ·
318 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink生产---13生产环境中的 Flink 高可用配置

概述:事实上,集群的高可用(High Availablility,以下简称 HA)配置是大数据领域经典的一个问题。通常 HA 用来描述一个系统经过专门的设计,从而减少停工时间,而保持其服务的高度可用性。06中:简单地介绍了 HA 配置。03中:提到过 Flink 集群中的角色:JobManager:集群管理者的角色:负责任务调度,协调Checkpoints、协调故障恢复、收集Job的状态信息、管理Flink集群中从节点的TaskManager。其他的一些角色详看03.在默认的情况下,我们的每个
原创
发布博客 2021.03.20 ·
965 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Flink进阶---12常用的Source和Connector

主要介绍Flink中支持得Source和常用的Connector。Flink 自身实现了多种 Source 和 Connector 方法,并且还提供了多种与第三方系统进行对接的 Connector。预定义和自定义Source在基础04中Flink常用的 DataSet 和 DataStream API中提到过几种Flink已经实现的新建DataStream方法。基于文件:我们在本地环境进行测试时可以方便地从本地文件读取数据:ExecutionEnvironment env = Executio
原创
发布博客 2021.03.20 ·
628 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink项目开发、上线全流程报错集合加处理办法(持续更新,附原因解决办法)

1、由于自己启动任务用的是root用户、未使用FlinkProject 用户产生以下报错org.apache.flink.client.program.ProgramInvocationException: Could not retrieve the execution result. (JobID: 9ebe0758cd287126758d57b15fb5e5a3) at org.apache.flink.client.program.rest.RestClusterClient.submitJob
原创
发布博客 2020.09.27 ·
4416 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

Flink 风控项目的开发与迭代

最近比较忙,先码住,有时间会写一个四个月的Flink风控项目的开发和迭代过程
原创
发布博客 2020.07.08 ·
440 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

排查生产环境中的反压问题

不同框架的反压对比StormStorm 从 1.0 版本以后引入了全新的反压机制,Storm 会主动监控工作节点。当工作节点接收数据超过一定的水位值时,那么反压信息会被发送到 ZooKeeper 上,然后 ZooKeeper 通知所有的工作节点进入反压状态,最后数据的生产源头会降低数据的发送速度。Spark StreamingSpark Streaming 在原有的架构基础上专门设计了一个 RateController 组件,该组件利用经典的 PID 算法。向系统反馈当前系统处理数据的几个重要属性:
原创
发布博客 2020.06.06 ·
343 阅读 ·
1 点赞 ·
0 评论 ·
1 收藏

Flink生产---14Exactly-once 实现原理解析

Flink 的“精确一次”处理语义是,Flink 提供了一个强大的语义保证,也就是说在任何情况下都能保证数据对应用产生的效果只有一次,不会多也不会少。Flink 是如何实现“端到端的精确一次处理”语义的呢?通常情况下,流式计算系统都会为用户提供指定数据处理的可靠模式功能,用来表明在实际生产运行中会对数据处理做哪些保障。一般来说,流处理引擎通常为用户的应用程序提供三种数据处理语义:最多一次、至少一次和精确一次。1最多一次(At-most-Once):这种语义理解起来很简单,用户的数据只会被处理一次,不管
原创
发布博客 2020.06.06 ·
1448 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

生产环境中的 Flink 高可用配置

源码分析Flink 中的 JobManager、WebServer 等组件都需要高可用保障,并且 Flink 还需要进行 Checkpoint 元数据的持久化操作。与 Flink HA 相关的类图如下图所示,我们跟随源码简单看一下 Flink HA 的实现。HighAvailabilityMode 类中定义了三种高可用性模式枚举,NONE:非 HA 模式ZOOKEEPER:基于 ZK 实现HA FACTORY_CLASS:自定义 HA 工厂类,该类需要实现HighAvailabilitySe
原创
发布博客 2020.06.06 ·
656 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink进阶---11CEP 复杂事件处理

这个目前在做一个项目,在项目完成后会单独拿出来说,这里先简单说一下Complex Event Processing(CEP)是 Flink 提供的一个非常亮眼的功能,关于 CEP 的解释我们引用维基百科中的一段话:CEP, is event processing that combines data from multiple sources to infer events or patterns that suggest more complicated circumstances. The goal
原创
发布博客 2020.06.06 ·
352 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Flink进阶---10Side OutPut 分流

分流场景我们在生产实践中经常会遇到这样的场景,需把输入源按照需要进行拆分,比如我期望把订单流按照金额大小进行拆分,或者把用户访问日志按照访问者的地理位置进行拆分等。面对这样的需求该如何操作呢?分流的方法通常来说针对不同的场景,有以下三种办法进行流的拆分。Filter 分流Filter 方法我们在第 04 课时中(Flink 常用的 DataSet 和 DataStream API)讲过,这个算子用来根据用户输入的条件进行过滤,每个元素都会被 filter() 函数处理,如果 filter() 函数
原创
发布博客 2020.06.06 ·
267 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink进阶---09状态与容错

所谓的状态,其实指的是 Flink 程序的中间计算结果。Flink 支持了不同类型的状态,并且针对状态的持久化还提供了专门的机制和状态管理器。状态我们在 Flink 的官方博客中找到这样一段话,可以认为这是对状态的定义:When working with state, it might also be useful to read about Flink’s state backends. Flink provides different state backends that specify how
原创
发布博客 2020.06.06 ·
169 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink进阶---08窗口、时间和水印

Flink 框架中支持事件时间、摄入时间和处理时间三种。而当我们在流式计算环境中数据从 Source 产生,再到转换和输出,这个过程由于网络和反压的原因会导致消息乱序。因此,需要有一个机制来解决这个问题,这个特别的机制就是“水印”。Flink 的窗口和时间我们在第 05 课时中讲解过 Flink 窗口的实现,根据窗口数据划分的不同,目前 Flink 支持如下 3 种:滚动窗口,窗口数据有固定的大小,窗口中的数据不会叠加;滑动窗口,窗口数据有固定的大小,并且有生成间隔;会话窗口,窗口数据没有固定的大
原创
发布博客 2020.06.06 ·
539 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink进阶---07常见核心概念分析

在 Flink 这个框架中,有很多独有的概念,比如分布式缓存、重启策略、并行度等,这些概念是我们在进行任务开发和调优时必须了解的,这一课时我将会从原理和应用场景分别介绍这些概念。分布式缓存熟悉 Hadoop 的你应该知道,分布式缓存最初的思想诞生于 Hadoop 框架,Hadoop 会将一些数据或者文件缓存在 HDFS 上,在分布式环境中让所有的计算节点调用同一个配置文件。在 Flink 中,Flink 框架开发者们同样将这个特性进行了实现。Flink 提供的分布式缓存类型 Hadoop,目的是为了在
原创
发布博客 2020.06.06 ·
650 阅读 ·
1 点赞 ·
0 评论 ·
0 收藏

Flink基础---05SQL & Table 编程和案例

Flink Table & SQL 概述背景我们在前面的课时中讲过 Flink 的分层模型,Flink 自身提供了不同级别的抽象来支持我们开发流式或者批量处理程序,下图描述了 Flink 支持的 4 种不同级别的抽象。Table API 和 SQL 处于最顶端,是 Flink 提供的高级 API 操作。Flink SQL 是 Flink 实时计算为简化计算模型,降低用户使用实时计算门槛而设计的一套符合标准 SQL 语义的开发语言。我们在第 04 课时中提到过,Flink 在编程模型上提供了
原创
发布博客 2020.06.06 ·
362 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

Flink基础---04常用的 DataSet 和 DataStream API

现状在前面的课程中,曾经提到过,Flink 很重要的一个特点是“流批一体”,然而事实上 Flink 并没有完全做到所谓的“流批一体”,即编写一套代码,可以同时支持流式计算场景和批量计算的场景。目前截止 1.10 版本依然采用了 DataSet 和 DataStream 两套 API 来适配不同的应用场景。DateSet 和 DataStream 的区别和联系在官网或者其他网站上,都可以找到目前 Flink 支持两套 API 和一些应用场景,但大都缺少了“为什么”这样的思考。Apache Flink
原创
发布博客 2020.06.06 ·
975 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink基础---03编程模型与其他框架比较

本课时的内容主要介绍基于 Flink 的编程模型,包括 Flink 程序的基础处理语义和基本构成模块,并且和 Spark、Storm 进行比较,Flink 作为最新的分布式大数据处理引擎具有哪些独特的优势呢?Flink 的核心语义和架构模型我们在讲解 Flink 程序的编程模型之前,先来了解一下 Flink 中的 Streams、State、Time 等核心概念和基础语义,以及 Flink 提供的不同层级的 API。Flink 核心概念Streams(流),流分为有界流和无界流。有界流指的是有固定大
原创
发布博客 2020.06.06 ·
190 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink基础---02入门程序 WordCount 和 SQL 实现

Flink 开发环境通常来讲,任何一门大数据框架在实际生产环境中都是以集群的形式运行,而我们调试代码大多数会在本地搭建一个模板工程,Flink 也不例外。Flink 一个以 Java 及 Scala 作为开发语言的开源大数据项目,通常我们推荐使用 Java 来作为开发语言,Maven 作为编译和包管理工具进行项目构建和编译。对于大多数开发者而言,JDK、Maven 和 Git 这三个开发工具是必不可少的。关于 JDK、Maven 和 Git 的安装建议如下表所示:工程创建一般来说,我们在通过 ID
原创
发布博客 2020.06.06 ·
240 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Flink开发项目中遇到的一些问题总汇(持续更新)

问题 解决:1、(Constants.A, Constants.B) 是定位到具体配置2、设置flink全局变量env.getConfig.setGlobalJobParameters(C)但是某些算子可能用到非全局变量中的一些配置例如:map、process中open 函数中的配置需要局部配置变量。     3、map和process的联系:map方法不允许缺少数据,也就是原来多少条数据,处理后依然是多少条数据,只是用来做转换。本次开发map函数用来将sour
原创
发布博客 2020.09.27 ·
2557 阅读 ·
0 点赞 ·
0 评论 ·
6 收藏

Flink 基本API概述

Flink 基本APIFlink剖析:Flink程序看起来像是转换数据集合的常规程序。每个程序包含相同的基本部分:1、获得一个execution environment,2、加载/创建初始数据,3、指定此数据的转换,4、指定放置计算结果的位置,5、触发程序执行Flink程序是实现分布式集合转换的常规程序(例如,Filter,映射,更新状态,Join,分组,定义窗口,聚合)。...
原创
发布博客 2020.04.24 ·
359 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏
加载更多