自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(18)
  • 收藏
  • 关注

原创 Jar包反编译工具

Jar包反编译工具

2023-05-22 11:13:03 179

原创 Spark java.lang.ClassFormatError: Too many arguments in method signature in class

spark java.lang.ClassFormatError: Too many arguments in method signature in class

2022-08-29 15:03:45 718

原创 ClickHouse之MergeTree引擎!

ClickHouse之MergeTree引擎!

2022-08-24 22:03:05 979

原创 ClickHouse 介绍

ClickHouse介绍!

2022-08-24 21:13:12 2527

原创 Hive 自定义UDF函数

Hive 自定义UDF函数

2022-06-30 22:42:12 1163

原创 Idea配置 .gitignore 后没有起作用

1、搜索插件 .ignore,并安装,安装后重启idea2、增加 .gitignore 文件3、配置相应的过滤文件4、添加的 .gitignore 可能不起作用先进入项目所在的文件夹git rm -r --cached .git add .git commit -m "update .gitignore"注意:2、3、4 步骤中的点不可忽略...

2022-04-30 17:32:18 1291

原创 深度探索 Flink SQL

文章将从用户的角度来讲解 Flink 1.9 版本中 SQL 相关原理及部分功能变更,希望加深大家对 Flink 1.9 新功能的理解,在使用上能够有所帮助。新 TableEnvironmentFLIP-32 中提出,将 Blink 完全开源,合并到 Flink 主分支中。合并后在 Flink 1.9 中会存在两个 Planner:Flink Planner 和 Blink Planner。在之前的版本中,Flink Table 在整个 Flink 中是一个二等公民。而 Flink SQL 具备的易用

2022-04-26 22:39:41 2521

原创 Flink State 最佳实践

State 概念回顾我们先回顾一下到底什么是 state,流式计算的数据往往是转瞬即逝,当然,真实业务场景不可能说所有的数据都是进来之后就走掉,没有任何东西留下来,那么留下来的东西其实就是称之为 state,中文可以翻译成状态。在下面这个图中,我们的所有的原始数据进入用户代码之后再输出到下游,如果中间涉及到 state 的读写,这些状态会存储在本地的 state backend (可以对标成嵌入式本地 kv 存储) 当中。接下来我们会在四个维度来区分两种不同的 state:operator stat

2022-04-25 23:33:24 484

原创 Flink Connector 开发

Flink Streaming ConnectorFlink 是新一代流批统一的计算引擎,它需要从不同的第三方存储引擎中把数据读过来,进行处理,然后再写出到另外的存储引擎中。Connector 的作用就相当于一个连接器,连接 Flink 计算引擎跟外界存储系统。Flink 里有以下几种方式,当然也不限于这几种方式可以跟外界进行数据交换:第一种 Flink 里面预定义了一些 source 和 sink。第二种 Flink 内部也提供了一些 Boundled connectors。第三种可以使用第三方

2022-04-16 23:59:23 377

原创 Flink详解 Metrics 原理与实践

什么是 Metrics ?Flink 提供的 Metrics 可以在 Flink 内部收集一些指标,通过这些指标让开发人员更好地理解作业或集群的状态。由于集群运行后很难发现内部的实际状况,跑得慢或快,是否异常等,开发人员无法实行查看所有的 Task 日志,比如作业很大或者有很多作业的情况下,该如何处理?此时 Metrics 可以很好的帮助开发人员了解作业的当前状况。Metric TypesMetrics 的类型如下:首先,常用的如 Counter,写过 mapreduce 作业的开发人员就应该很

2022-04-12 22:53:30 2358

原创 Flink 网络流控及反压剖析

网络流控的概念与背景1、为什么需要网络流控首先我们看上面这张最精简的网络流控的图,Producer 的吞吐率是 2MB/s,Consumer 是 1MB/s,这个时候我们就会发现在网络通信时我们的 Producer 的速度是比 Consumer 要快的,有 1MB/s 的速度差,假定我们两端都有一个 Buffer,Prodecer 端有一个发送用的 Send Buffer,Consumer 端有一个接收用的 Receive Buffer,在网络端的吞吐量是 2MB/s,过了 5s 后我们的 Recei

2022-04-11 23:03:14 212

原创 Flink 作业执行深度解析

Flink 四层转化流程Flink 有四层转换流程:第一层为 Program 到 StreamGraph;第二层为 StreamGraph 到 JobGraph;第三层为 JobGraph 到 ExecutionGraph;第四层为 ExecutionGraph 到物理执行计划。通过对 Program 的执行,能够生成一个 DAG 执行图,即逻辑执行图。第一部分将先讲解四层转化的流程,然后将以详细案例讲解四层的具体转化。第一层 StreamGraph 从 Source 节点开始,每一

2022-04-09 21:11:55 406

原创 Flink 数据类型和序列化

为 Flink 量身定制的序列化框架为什么要为 Flink 量身定制序列化框架?大数据生态中大多数技术组件都是运行在 JVM 上的,Flink 也是运行在 JVM 上,基于 JVM 的数据分析引擎都需要将大量的数据存储在内存中,这就不得不面临 JVM 的一些问题,比如 Java 对象存储密度较低等。针对这些问题,最常用的方法就是实现一个显式的内存管理,也就是说用自定义的内存池来进行内存的分配回收,接着将序列化后的对象存储到内存块中。现在 Java 生态圈中已经有许多序列化框架,比如说 Java ser

2022-04-06 23:03:11 931

原创 Flink on Kubernetes 原理剖析

Kubernetes 是 Google 开源的容器集群管理系统,其提供应用部署、维护、扩展机制等功能,利用Kubernetes 能方便地管理跨机器运行容器化的应用。Kubernetes —— 基本概念Kubernetes(k8s)中的 Master 节点,负责管理整个集群,含有一个集群的资源数据访问入口,还包含一个 Etcd 高可用键值存储服务。Master 中运行着 API Server,Controller Manager 及 Scheduler 服务。Node 为集群的一个操作单元,是 Pod

2022-04-04 22:59:13 3758

原创 Flink on Yarn 原理剖析

本文章将从 Flink 架构、Flink on Yarn 原理及实践、Flink on Kubernetes 原理剖析三部分内容进行介绍。Flink 架构概览1、Flink 架构概览 —— Job用户通过 DataStream API、DataSet API、SQL 和 Table API 编写 Flink 任务,Client 端会生成一个 JobGraph。JobGraph 是由 source、map()、keyBy()/window()/apply() 和 Sink 等算子组成的。当 Jo

2022-04-01 22:53:42 2267 1

原创 Checkpoint 原理剖析与应用实践

今天我将跟大家分享一下 Flink 里面的 Checkpoint,共分为四个部分。首先讲一下 Checkpoint 与 state 的关系,然后介绍什么是 state,第三部分介绍如何在 Flink 中使用 state,第四部分则介绍 Checkpoint 的执行机制。Checkpoint 与 state 的关系Checkpoint 是从 source 触发到下游所有节点完成的一次全局操作。下图可以有一个对 Checkpoint 的直观感受,红框里面可以看到一共触发了 569K 次 Checkpoint

2022-03-31 11:31:02 256

原创 Flink 时间属性深度解析

前言Flink 的 API 大体上可以划分为三个层次:最底层的 ProcessFunction、中间一层的 DataStream API 和最上层的 SQL / Table API,这三层的每一层都非常依赖于时间属性。Flink 时间语义Flink 支持的核心时间语义是 Processing Time 和 Event Time。两者的不同点如下表所示:Processing Time(处理时间)Event Time(事件时间)真实世界的时间数据世界的时间处理数据节点的本地

2022-03-30 17:31:06 2086

原创 Flink Runtime 核心机制剖析

Flink Runtime 整体架构Flink Runtime 层的主要架构如下图所示,它展示了一个 Flink 集群的基本结构。整体来说,它采用了标准 master-slave 的结构,master负责管理整个集群中的资源和作业;TaskExecutor 则是 Slave,负责提供具体的资源并实际执行作业。​​​​​​Flink 集群的基本结构Master部分包含三个组件:Dispatcher、ResourceManager 和 JobManager。Dispatcher:负责接收用户提供的作业

2022-03-24 17:05:35 2997

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除