自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

百看不如一RUN

学习与生活中的一些记录

  • 博客(164)
  • 资源 (1)
  • 收藏
  • 关注

原创 Flink到底是怎么把你的程序抽象的?

我想我们大家都知道Flink是有状态的实时计算引擎,很多人不理解一个计算引擎应该怎么做呢,其实这就涉及到了Flink的核心,也就是它的应用程序抽象,我们都知道Flink会将我们编写的程序来进行转换成一个图

2022-03-20 18:43:25 4393

原创 Hive调优全方位指南

1、表层面1.1 利用分区表优化分区表 是在某一个或者几个维度上对数据进行分类存储,一个分区对应一个目录。如果筛选条件里有分区字段,那么 Hive 只需要遍历对应分区目录下的文件即可,不需要遍历全局数据,使得处理的数据量大大减少,从而提高查询效率。也就是说:当一个 Hive 表的查询大多数情况下,会根据某一个字段进行筛选时,那么非常适合创建为分区表,该字段即为分区字段。eg:CREATE TABLE page_view(viewTime INT, userid BIGINT, page

2020-08-29 22:55:44 756 2

原创 分布式理论与分布式一致性算法详解

我们想要了解zookeeper就需要了解一些分布式领域的一些概念,接下来1. 分布式背景1.1 集中式服务所谓集中式系统就是指由一台或多台主计算机组成中心节点,数据集中存储于这个中心节点中,并且整个系统的所有业务单元都集中部署在这个中心节点上,系统所有的功能均由其集中处理。也就是说,集中式系统中,每个终端或客户端机器仅仅负责数据的录入和输出,而数据的存储与控制处理完全交由主机来完成。集中式服务的优点:1、结构简单2、部署简单3、项目架构简单集中式服务的缺点:1、大型主机的研发人才和.

2020-08-08 15:37:21 3851

原创 Kafka源码解析之Kafka高性能的秘密概述(一)

1. Kafka是什么1.1 为什么会有消息系统如上图所示,我们有一个华为手机的生产线,我们手机的主板使用的是机械手臂生产的然后通过人工搬运的方式送到组装车间,进行手机的组装,最后去往我们的质检车间,这个时候我们应该可以发现一个问题,人工搬运过去有点慢啊,我们应该引入传送带,传过去,这样就省掉了人工搬运的过程这样我们就引入了传送带提高了效率,运行了几天我们又发现了一个问题,机械手臂生产的很快,组装比较慢,质检比较快,这样就到了生产效率不一致的问题这个时候我们应该怎么解决这个问题呢,我们是不是在每

2020-07-22 22:33:46 1270

原创 FlinkCDC详解

flink的cdc详解

2024-02-20 21:35:32 15234 1

原创 Flink反压如何排查

Flink反压如何排查,是我们在进行flink开发以及监控的流程中必不可少的一项技能,同时也是很多大厂面试需要问题的知识点。

2023-02-09 14:18:25 2154

原创 最基础的分类算法-k近邻算法(k-Nearest Neighbors) KNN

思想极度简单应用数学知识少(近乎为零)效果好(缺点?)可以解释机器学习算法使用过程中的很多细节问题更完整的刻画机器学习应用的流程文章目录数据准备KNN的过程scikit-learn的机器学习算法封装什么是机器学习呢?如何使用scikt-learn中的KNN算法呢模仿scikt-learn进行封装我们自己的KNN算法判断我们机器学习算法的性能超参数和模型参数网格搜索数据归一化KNN...

2023-02-07 11:28:27 1155 1

原创 好胖子带你学Flink系列-Flink源码剖析第一集Standalone启动脚本分析

此时各位大佬,可以打开自己的flink源码,或者是下载好的Flink包以及centos上面的Flink软件中的bin目录。在flink源码中,脚本所在的项目为flink-dist下的flink-bin目录,此时我们分析的就是start-cluster。肯定很多朋友说为什么不看yarn提交,要看Standalone启动集群的方式,因为Standalone是每个计算框架都会存在的,例如yarn等都是为了兼容而做的,standalone这种方式才会真正的体现flink内部的一些核心框架的一些用法(因为比较

2022-06-18 17:39:54 768

原创 Java提交Flink程序(Session)

我不用命令调用,我直接拿java起不就行了吗,因为flink也是java写的啊,我们只要模仿着flink怎么提交的,我们来做一番不就可以了吗,那么我们就看看flink怎么做的吧。

2022-04-07 16:13:35 2220 3

原创 使用Flink Rpc模拟TaskManager向JobManager注册

开篇我们这次文章主要和大家分享一下,如何使用Flink 原生的RPC 也就是经过Flink封装Akka之后的RPC程序来进行完成一个需求。需求概述1、两个进程JobManager、TaskManager2、当TaskManager启动的时候,向JobManager发送注册信息,报告本地的内存、CPU3、当JobManager收到注册消息的时候,返回给TaskManager注册成功的消息4、TaskManager每间隔三秒向JobManager发送心跳消息5、JobManager每间隔3.

2022-03-19 17:50:53 5966

原创 深入理解Flink Rpc

FlinkRpc核心理解其实在其他的大数据组件重也有类似于Actor类似的概念:HDFS:ProxyAkka:ActorRefFlink:XXXGateway 例如JobManager、TaskManagerAkka的Actor 对应的是Flink的RpcEndpointAkka的ActorRef对应的是Flink的XXXGateway在我们阅读Flink的源码的过程中,经常会见到类似的代码,其他他就是在发送RPC的请求。resourceManagerGateway.requestSlo

2022-03-14 23:05:41 2955 1

原创 Flink底层实现Akka

Flink的RPC实现:是基于Scala的网络编程库Akka来的。Akka的特点它是对并发模型进行了更高的抽象它是异步、非阻塞、高性能的事件驱动编程模型它是轻量级事件处理(1GB内存可以以容纳百万级别的Actor)Akka简介Akka是一个网络编程库ActorSystem是管理Actor生命周期的组件,Actor是负责进行通信的组件每个Actor都有一个MailBox(在Flink源码中经常可以看到,checkpoint通知就是基于此),别的Actor发送给它的消息都是首先存储在Mai

2022-03-13 18:33:28 3574

原创 Session Window Join原理附源码解析

Session Window Join 解析以及源码剖析

2022-02-24 15:37:04 604

原创 Flink Interval Join使用以及源码解析

在之前的Join算子中,一般使用的是coGroup算子,因为一个算子可以提供多种语义,但是也是有一些弊端的。因为coGroup只能实现在同一个窗口的两个数据流之间进行join,在实际的计算过程中,往往会遇到当req发生时,resp迟迟无法响应,这个时候,就会出现一个跨窗口的问题。

2022-02-21 16:05:48 3785 4

原创 Flink窗口大小怎么确定的,开始时间是时候?

我还记得的在我刚学习flink的时候,B站的老师说过,Flink窗口的开始时间和结束时间和你想的不一样。那个时候我好像记得老师说过,flink的窗口大小会根据你的时间单位来进行修正

2022-01-18 22:09:00 3986

原创 并发编程-原子性 Atomic

大家好,最近呢我对并发编程展现出了兴趣(没办法,别人都会你不会说不过去啊),然后我就要奋发图强学好并发编程,那么接下来让我们一起进入学习吧。今天我们来学习一下线程安全性之原子性

2022-01-16 20:12:11 635

原创 并发编程实战-JMM线程内存模型

大家好,最近呢我对并发编程展现出了兴趣(没办法,别人都会你不会说不过去啊),然后我就要奋发图强学好并发编程,那么接下来让我们一起进入学习吧。我们在学习并发编程实战之前,应该先要了解一下我们的Java 内存模型,因为你如果连java内存模型都不会的话,这就说不过去了吧。

2022-01-08 20:39:21 588

原创 并发编程实战-MESI缓存一致性协议

MESI缓存一致性协议详解,多图

2022-01-06 21:19:51 570

原创 从HDFS源码学习接口重试机制

从hdfs 源码里面学习重试机制。

2021-12-28 15:36:00 1205

原创 SQL执行原理以及InnoDB初探

1、SQL语句的简要执行流程当你往mysql发送一条数据查询的时候,那么就会和mysql进行建立一个链接,会校验你的用户名和密码以及一些权限。当权限通过后,你的链接已经建立完成了。那么这个时候我们可以思考一下,当你建立好了一个链接以后,下一个访问请求过来,那么你还要建立链接,这个时候开销是会很大的。因为涉及到网络通信,和资源开销。那么这个时候就可以通过连接池技术来进行减少开销,我先建立好一些链接,你来用就行了。那么我们会想到这些问题,mysql当然也想到了会建立连接池来减少开销。Mysql也会维护和各

2021-11-30 15:36:21 725 2

原创 MySQL实战指南-表结构设计

学习自姜承尧的MySQL实战宝典表结构设计篇数字类型不推荐使用整型类型的属性 Unsigned,若非要使用,参数 sql_mode 务必额外添加上选项 NO_UNSIGNED_SUBTRACTION;自增整型类型做主键,务必使用类型 BIGINT,而非 INT,后期表结构调整代价巨大;MySQL 8.0 版本前,自增整型会有回溯问题,做业务开发的你一定要了解这个问题;当达到自增整型类型的上限值时,再次自增插入,MySQL 数据库会报重复错误;不要再使用浮点类型 Floa.

2021-09-06 15:26:41 510

原创 设计LRU缓存结构

设计LRU缓存结构描述设计LRU缓存结构,该结构在构造时确定大小,假设大小为K,并有如下两个功能set(key, value):将记录(key, value)插入该结构get(key):返回key对应的value值[要求]set和get方法的时间复杂度为O(1)某个key的set或get操作一旦发生,认为这个key的记录成了最常使用的。当缓存的大小超过K时,移除最不经常使用的记录,即set或get最久远的。思路:我们想要达到插入和获取都是O(1)的时间复杂度的话,那么我们需要

2021-06-22 17:09:41 380

原创 Flink新特性withIdleness一文全解析

1、withIdleness 介绍There are two places in Flink applications where a WatermarkStrategy can be used: 1) directly on sources and 2) after non-source operation.The first option is preferable, because it allows sources to exploit knowledge about shards/parti

2021-05-31 19:45:15 5973 15

原创 一文带你搞懂Flink Watermark

1、Watermark的介绍首先我们应该了解一个概念,就是Watermark是用来测量时间的进度的一种方法。 因为我们在使用EventTime时间来进行计算的时候,由于EventTime是真实世界的时间,那么百分之100可能会发生乱序数据,那么何为乱序数据呢,也就是说,我1分钟前产生的数据现在才进入到我的系统中进行处理,这里就是延迟数据,那么乱序就是在正常的时间数据流中夹杂着一些非顺序的一些数据,例如某台机器的网络抖动,或者网卡和系统的延迟导致了这台机器上报的数据延迟上传,那么flink在处理的时候,这个

2021-05-31 10:19:44 1204

原创 Springboot 如何获取配置文件中和运行环境的所有配置

在开发中往往需要获取到一些配置启动一些东西,那么这个时候我们想要获取的配置的多少是不固定的,例如实时计算平台中,flink可配置的参数是很多的,那么我们全部记录下来写入代码中这样是不科学的,那么我们就可以通过ENV的方式获取到所有的配置,然后过滤出来flink的配置,来进行启动flink程序就行了,让我们来一起看看代码吧import org.springframework.beans.factory.annotation.Autowired;import org.springframework.core

2021-05-19 15:28:49 1828

原创 Java api 提交Flink程序到yarn 上怎么做?

1、Flink Application ModeApplication Mode将在YARN上启动一个Flink集群,其中Application jar的main()方法将在YARN中的JobManager上执行。应用程序完成后,群集将立即关闭。您可以使用yarn application-kill或取消Flink作业来手动停止集群。由于所需的Flink jar和应用程序jar将由指定的远程位置接收,而不是由客户机发送到集群,因此上面的内容将允许作业提交变得格外轻量级。这样的话,我们就可以通过java 来

2021-05-14 11:42:08 5726 20

原创 M3DB安装指南以及一些问题

1、M3DB介绍Uber 之前开源了已在内部使用多年的指标平台 —— M3 ,这是一个基于分布式时序数据库 M3DB 构建的度量平台,可每秒聚合 5 亿个指标,并且以每秒 2000 万笔的速度持续存储这些结果。Uber 表示,为促进在全球的运营发展,他们需要能够在任何特定时间快速存储和访问后端系统上的数十亿个指标。一直到 2014 年底,Uber 的所有服务、基础设施和服务器都是将指标发送到基于 Graphite 的系统中,该系统将这些资料以 Whisper 档案格式储存到分片 Carbon 丛集。此

2021-04-30 14:09:01 2570 4

原创 M3DB原理概述

M3DBUber 近日开源了已在内部使用多年的指标平台 —— M3 ,这是一个基于分布式时序数据库 M3DB 构建的度量平台,可每秒聚合 5 亿个指标,并且以每秒 2000 万笔的速度持续存储这些结果。Uber 表示,为促进在全球的运营发展,他们需要能够在任何特定时间快速存储和访问后端系统上的数十亿个指标。一直到 2014 年底,Uber 的所有服务、基础设施和服务器都是将指标发送到基于 Graphite 的系统中,该系统将这些资料以 Whisper 档案格式储存到分片 Carbon 丛集。此外,还将

2021-04-23 16:19:14 3622

原创 TDengine概述以及架构模型

TDengineTDengine是一个高效的存储、查询、分析时序大数据的平台,专为物联网、车联网、工业互联网、运维监测等优化而设计。您可以像使用关系型数据库MySQL一样来使用它。TDengine介绍TDengine是涛思数据面对高速增长的物联网大数据市场和技术挑战推出的创新性的大数据处理产品,它不依赖任何第三方软件,也不是优化或包装了一个开源的数据库或流式计算产品,而是在吸取众多传统关系型数据库、NoSQL数据库、流式计算引擎、消息队列等软件的优点之后自主开发的产品,在时序空间大数据处理上,

2021-03-30 19:55:55 5778 2

原创 Spring No default constructor found; nested exception is java.lang.NoSuchMethodException:

如果你定义了有参构造,那么在spring的依赖装配中,必须使用有参,不使用的话,需要添加无参构造。

2021-03-18 14:16:50 825

原创 Flink状态管理之状态清除StateTtlConfig

1、Flink状态去重场景在Flink运行的时候,往往是无休止的运行,在整个Flink程序运行的长河中,往往会出现很多状态的出现,那么状态的生命周期,也就是创建、使用和销毁,那么在我们写flink程序过程中,往往不需要关注flink 状态的清理,flink内部就会对我们的状态进行清理,例如我们开一个10分钟的窗口,那么在这十分钟的窗口中,这个状态也就是会发生创建、使用和销毁,那么我这里问大家一个问题?就是窗口结束后,状态会销毁吗。这里有一个场景,也就是说当我们开一个一天的窗口,计算当天的消费人数,那么这

2021-03-13 11:55:20 6501

原创 Flink aggregate 方法解析

在Flink计算中,常见的一些操作是map或者flatmap一些数据之后keyby 开窗口进行计算。那么在这些计算当中有哪些算子呢?其中我分为两类算子。增量聚合 有reduce 和aggregate算子,全量聚合 有apply和process。那么今天我们就主要讲解一下常用的增量聚合算子aggregate算子。aggregate方法签名的三个类型 <数据源类型,累加器类型,输出类型>WindowFunction 方法签名的四个类型为 <IN, OUT, KEY, W extend

2021-03-01 22:45:51 4024

原创 64道企业真实Flink题目让你无惧Flink面试(带答案)

1、Flink如何保证精确一次性消费Flink 保证精确一次性消费主要依赖于两种Flink机制1、Checkpoint机制2、二阶段提交机制Checkpoint机制 主要是当Flink开启Checkpoint的时候,会往Source端插入一条barrir,然后这个barrir随着数据流向一直流动,当流入到一个算子的时候,这个算子就开始制作checkpoint,制作的是从barrir来到之前的时候当前算子的状态,将状态写入状态后端当中。然后将barrir往下流动,当流动到keyby 或者shuffle

2021-02-18 15:23:47 15472 5

原创 网络编程-简单实现HadoopRpc

一、我们应该如何去阅读一个大数据开源框架的源码1. 阅读源码的思路1.1 掌握其网络通信架构我们应该都知道在大数据领域中,包含了很多大数据框架,例如Spark,Hadoop,Kafka,Zookeeper,Flink等,在这些组件当中,他们都是分布式的,我们想要阅读他们源码的时候,必须要明白分布式系统之间,他们是如何交互的,例如Spark之前采用的是akka,现在采用的Netty,kafka采用的是NIO等,也就不一一列举了,我们阅读源码的时候,如果不了解他们内部是如何通信的,那么我们根本无法知道他们

2021-02-08 15:30:05 200 1

原创 一文带你复习Java网络编程(上)

网络编程是什么?网络编程从大的方面说就是对信息的发送到接收,中间传输为物理线路的作用。网络编程最主要的工作就是在发送端把信息通过规定好的协议进行组装包,在接收端按照规定好的协议把包进行解析,从而提取出对应的信息,达到通信的目的。网络:网络是由若干节点和连接这些节点的链路构成,表示诸多对象及其相互联系。汉语中,“网络”一词最早用于电学《现代汉语词典》(1993年版)做出这样的解释:“在电的系统中,由若干元件组成的用来使电信号按一定要求传输的电路或这种电路的部分,叫网络。“网络的四要素:1、通

2021-02-05 16:02:36 145

原创 Presto查询Hive无数据解决方法

1、是否使用了TEZ引擎2、是否配置好了presto如果是TEZ引擎,则加上一条配置即可在hive.properties中增加hive.recursive-directories=true

2021-01-26 11:42:50 2398 2

原创 Druid常用配置

leyou.bi.datasource.druid.initialSize=5leyou.bi.datasource.druid.minIdle=5leyou.bi.datasource.druid.maxActive=20leyou.bi.datasource.druid.maxWait=60000leyou.bi.datasource.druid.timeBetweenEvictionRunsMillis=60000leyou.bi.datasource.druid.minEvictableI

2020-12-22 11:29:13 1071 2

原创 一款普适的实时数仓应该如何设计?

一、实时数仓的架构背景首先我们来聊一聊实时数仓是怎么诞生的,在离线数仓的时候数据是T+1的也就是隔一天才能看到昨天的数据,这种形式持续了很久的时间,但是有些场景真的只有实时的数据才有用武之地。例如推荐、风控、考核等。那么这个时候实时指标也就应运而生,在最开始的时候,采用flink\spark streaming来进行数据的指标统计。在这个时候,数据存在哪里又是一个问题。例如大屏计算结果可能存储在redis中,可以参考如下图所示的,实时大屏架构图。那么这个时候问题来了,你有多少指标?业务的需求是 无穷无

2020-12-15 23:07:47 624 6

原创 大数据面试题

1、MR与Spark的区别hadoop中的一个任务称为job,一个job分为map task和reduce task 每个task都是在自己的进程中运行的,当task 运行结束以后,进程也会结束spark的一个任务叫做application,一个application中有多个job,每触发一次action操作就会产生一个job,这些job可以并行也可以串行计算,每个job中有多个stage,stage是shuffle过程中DAGScheduler通过RDD之间的依赖关系划分job而来的,每个stage

2020-11-11 00:21:43 358

原创 Flink 实时维度表join达到实时配置更新的几种方式总结

1、ETL背景在我们日常工作中,经常会有一些实时的需求,这些需求往往都是一些拉宽的需求,为了给实时数仓来进行OLAP对来进行Ad-hoc查询,但是我们工作中一些维度表的数据是会发生变化的,可能是缓慢变化维度,那么这个时候就需要进行flink连接其他数据源来进行查询,那么这个时候我们肯定可以想到就是来一条查一次,这个是肯定可以做到的,但是在大数据场景下,我们是不是会觉得有点慢呢,我们是否有更好的解决方案,就像我写代码的时候 有时候就会思考有没有更好的解决方案,但是针对于要进行交付给用户,所以我们并没有那么多

2020-11-08 18:54:21 3543

数据仓库工具箱 维度建模完全指南.txt

这本书不是其他的那些断章的 不全的 只有前几章 那个没什么用,我这个是完全高清 422页,绝对高清,比第三版翻译的不知道好了多少,欢迎下载,看完后绝对会有很大的收获,祝你成为数据建模顾问

2019-06-05

空空如也

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

TA关注的人

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