初心江湖路
码龄6年
关注
提问 私信
  • 博客:178,414
    178,414
    总访问量
  • 101
    原创
  • 696,707
    排名
  • 46
    粉丝
  • 0
    铁粉

个人简介:多学一分增一分。

IP属地以运营商信息为准,境内显示到省(区、市),境外显示到国家(地区)
IP 属地:北京市
  • 加入CSDN时间: 2018-11-30
博客简介:

初心江湖路的博客

查看详细资料
个人成就
  • 获得78次点赞
  • 内容获得9次评论
  • 获得360次收藏
创作历程
  • 35篇
    2020年
  • 67篇
    2019年
成就勋章
TA的专栏
  • Flink
    3篇
  • Kafka
    8篇
  • Hive
    6篇
  • Redis
    2篇
  • GC
    4篇
  • HBase
    1篇
  • Structured Streaming
    2篇
  • 数据仓库
    4篇
  • Hadoop
    4篇
  • MySQL
    2篇
  • HDFS
    5篇
  • Spark Streaming
    1篇
  • Spark SQL
    1篇
  • 大数据
    29篇
  • Spark
    23篇
  • 数据结构
    5篇
  • 数据库
    7篇
  • Yarn
    3篇
  • 设计模式
    1篇
  • Java
    17篇
  • 算法
    12篇
  • 锁
    2篇
创作活动更多

如何做好一份技术文档?

无论你是技术大神还是初涉此领域的新手,都欢迎分享你的宝贵经验、独到见解与创新方法,为技术传播之路点亮明灯!

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

Flink检查点分析

方法:轻量级异步分布式快照首先我们还是按照常规方法想一下这个流程中的数据形式:1、对于源头:Flink应用就像是通过一根管道怼在数据源,然后数据源源不断地往Flink应用中流2、对于算子:算子分两种,一种是有状态的聚合、join等,一种是无状态的map、filter有状态和无状态很好理解,其实区别在于是否需要缓存计算结果,对于无状态的算子,无需对计算结果进行缓存,而对于有状态的算子,必须对算子的结果进行存储,也就是下一条数据在计算的时候需要以之前的结果作为基础。通过这两点我们可以看到,对于流计算,
原创
发布博客 2020.06.03 ·
964 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏

Flink的计算方式

首先看一张来自官网的Flink运行时架构图看图说话,先总结下Flink计算引擎的几个抽象:管理抽象:JobManager (Master) 负责调度任务执行、负责指挥进行检查点、负责任务失败容错恢复等。TaskManager (Worker) 负责具体任务的执行、缓冲和交换数据流等。每个管理者都对应着独立的JVM进程。执行抽象:Task,本质上都回归到线程执行具体的task。我们先不论资源管理方式。可以看到,资源被划分为细粒度的Slot。Flink Job也跟Spark Job一样,均以T
原创
发布博客 2020.05.09 ·
1959 阅读 ·
1 点赞 ·
1 评论 ·
0 收藏

Flink若干认识和基础功能

先看flink支持流批处理基于Event-Time事件处理的支持exactly-once一致性语义的保证高可用性的体现支持多种资源管理框架:Yarn、Mesos、Kubernetes、Stand-alone运行应用的规模上来讲:Flink也是被设计运行有状态的流应用,整个应用并行化为成千上万的任务,在集群上分布式并行执行。状态管理方面:Flink将任务的状态保存在内存中,如果内存容纳...
原创
发布博客 2020.05.02 ·
712 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

Java类加载机制的几个细节问题

1、类创建的时机啥时候触发了类的加载?jvms8里边的描述是:被其他接口或者类通过自身运行时常量池引用。通过特定JSE平台类库的方法调用(例如反射)。触发类的 creation。类加载器并不需要等到某个类被主动使用时才加载它,虚拟机规范允许类加载器在预料某个类将要被使用时预先加载好它。(这里的一个典型的体现是,在一个子类被主动使用时,若发现它有父类,则先加载其父类)。我们也可以总结出这并不...
原创
发布博客 2020.04.28 ·
254 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Kafka数据不丢失的策略权衡

一、会丢数据的情况1、生产端可通过 producer.type 来选择发送模式,默认为 sync (同步),异步设置为 async1)同步模式下Producer 在发送消息之后,在得到返回结果前阻塞。这是一种牺牲性能的办法,而且对于不同的配置,性能的损失程度不同、可靠性也不一样。关键参数如下request.required.acks 表示producer的一次请求被认为是完成时,需要的...
原创
发布博客 2020.04.21 ·
259 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

从kafka的Coordinator看组件设计

以下描述默指kafka 0.10对应版本,Coordinator 默指 GroupCoordinator一、Coordinator是什么协调器二、干什么用故障探测和再平衡(Rebalance)在一个消费者组当中,每个消费者线程负责消费所订阅topic下的哪些分区,维护一个平衡消费的关系,使得组中的每个消费者负载均衡。故障探测指什么?每个consumer都和Coordinator建立连接...
原创
发布博客 2020.04.18 ·
609 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

布隆过滤器

一、功能判断某项数据是可能在集合中还是肯定不在集合中二、布隆过滤器的三个重点1、布隆过滤器比特数组空间大小 m2、哈希函数个数 k3、加入的元素 n三、误判1、误判率2、根据所需的精度确定比特数组空间大小四、具体工作原理初始时大小为m的比特数组每位均为0,当设置值时分别用k个哈希函数计算哈希值,得到值应该对应的索引,将索引位置置1。当对新值进行判断时,通过k个哈希函数计算哈...
原创
发布博客 2020.04.13 ·
166 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Hive .hiverc、严格模式、分桶、Metastore连接方式、内部表外部表选择

Hive在启动之前会先执行.hiverc文件,一些常用的配置参数可以写到这里,比如一些常用的UDF及优先尝试本地模式等。set hive.exec.mode.local.auto=true;在严格模式,如果表的分区很多,数据量很大的情况下,能够避免产生很大的一个MR任务。比如,设置了hive.mapred.mode=strict那么如果在查询的where条件中不加分区字段限制,则限制其不能...
原创
发布博客 2020.04.13 ·
398 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

零拷贝

首先,为了保证系统安全,用户态的执行权限限制使得用户程序不能直接访问磁盘数据。必须通过内核态的系统调用响应应用程序的请求。一、虚拟地址映射应用程序通过MMU(内存管理单元)来访问内存,MMU完成进程的虚拟地址空间到物理内存地址空间的映射。内核为每个进程分配一个独立并连续的虚拟内存空间,并为每个进程维护一个页表,页表记录着虚拟内存到物理内存的映射,页表就存在MMU中。一、传统IO发送文件的过...
原创
发布博客 2020.04.03 ·
200 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

HBase

一、基础性认识1、数据库类型非关系型2、存储方式非结构化列式存储3、数据表组合方式列簇(可变)、每个列簇又由多个列(可变)构成4、存储介质磁盘5、存储系统依托HDFS6、执行引擎MapReduce二、Hbase特性1、表扩展当数据不断增加,表分裂成多份splits,每个split表示一个region。region存储的数据范围为 [startkey,endkey) ...
原创
发布博客 2020.03.21 ·
135 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Structured Streaming

引擎:Spark SQL入口:SparkSession计算模型:Micro-batch/Continus延迟:在 Micro-batch 模式下,每个微批次作为一个job调度单元,官网描述其带来的延迟在 100ms在 Continus 连续处理模式下,延迟低于1ms好的架构在于其巧妙的构思,而最终形式又是极其精简的。编程模型:可将流看做是不断地往一个表上append内容的过程,查询操...
原创
发布博客 2020.03.12 ·
541 阅读 ·
0 点赞 ·
0 评论 ·
1 收藏

wait、notify、notifyAll、sleep、yeild

一、wait、notify、notifyAll每个Java对象,除了有一个与之相关的 monitor ,还有一个与之对应的 wait 集合,这个集合中装的便是在该对象上的等待线程。在很多源码中,我们都看到不管是 wait 还是 notify 亦或是 notifyAll,其调用全是在该对象的synchronized同步语句块中。这是为什么?1、首先,我们很多地方都能找到 wait/notify...
原创
发布博客 2020.03.06 ·
266 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

数据仓库设计的一点总结

不论使用什么方法建设数据仓库,最终的目标都是统一的------为战略层面的决策提供数据支撑。关键原则还是聚焦业务需求,展现维度结构数据,过程可控可管理,并使用迭代方式开发数据仓库项目。数据仓库建设过程其实并不复杂,总的来说可以总结为以下几点:1、业务发展衍生出数据分析需求2、基于业务需求进行的需求分析3、根据分析结果进行的维度建模与技术方案的选型4、ETL设计与开发5、数据仓库的部署...
原创
发布博客 2020.03.05 ·
366 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

MapReduce的shuffle过程

shuffle是昂贵操作,因为shuffle操作不仅涉及到数据的拉取、溢写磁盘的IO操作还涉及排序合并等操作,如果能让shuffle的成本尽量降低也是一大优化的方向。本篇文章对应Hadoop2.6.5,只对应流程,具体细节,可以研究MapTask/ReduceTask/Shuffle等源码。shuffle过程一、Map端1、起始点 - map任务已产生结果将写出这一阶段可以称作缓冲区写出。...
原创
发布博客 2020.03.04 ·
1257 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Hadoop Yarn架构及任务提交流程

一、Yarn架构图图片来自官网二、Yarn架构的主要组件1、ResourceManager这是一个全局性组件,负责整个集群资源管理。其两个主要的组件分别为Scheduler(调度器)和 ApplicationsManager(应用管理器)。Scheduler调度器Scheduler是支持可插拔的,用于根据不同的队列、应用等来划分集群资源,如 CapacityScheduler 按照容...
原创
发布博客 2020.03.02 ·
894 阅读 ·
1 点赞 ·
0 评论 ·
4 收藏

ThreadLocal如何起作用的

首先,ThreadLocal是用来进行线程间的数据隔离的。我们知道一般对于共享数据的安全防护是用锁来实现的,这里我们看看ThreadLocal是怎么实现线程隔离从而保证数据安全的。其起作用的机制是为每个线程提供一个独立的变量副本。我们看是怎么做到的1、在Thread类当中,有如下代码ThreadLocal.ThreadLocalMap threadLocals = null;也就是说每...
原创
发布博客 2020.03.01 ·
164 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Hadoop MRv1和MRv2的区别

Hadoop1.0采用的是MRv1版本的MapReduce编程模型对于MRv1运行时环境:JobTracker和TaskTracker编程模型:MapReduce数据处理引擎:Map任务和Reduce任务这一版本的瓶颈和缺陷:1、JobTracker既负责资源管理又负责任务调度,如果集群繁忙,JobTracker本身就会成为可扩展性的瓶颈,大大制约计算能力。2、在这一版本中,Task...
原创
发布博客 2020.03.01 ·
1151 阅读 ·
0 点赞 ·
0 评论 ·
2 收藏

LintCode43:Maximum Subarray III(求能得到最大和的分组,输出最大和)

动态规划比较难想,但写出来的代码确实简洁,而且处理的逻辑很清晰,不过动态规划很多时候并不是最优解,这里只作为一种理解和示意public class MaxSubArray { public static int maxSubArray(int[] nums, int k) { // 动态规划最重要的就是找到递推关系 // 递推的目标是遍历处理完所有元素,处理下一个元素时能够...
原创
发布博客 2020.02.28 ·
246 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Java类加载器及双亲委派

文章对应java8Java中类加载器有以下三种:1、启动类加载器(根类加载器Bootstrap ClassLoader)2、扩展类加载器(ExtClassLoader)3、应用类加载器(AppClassLoader)各加载器负责加载的类:Bootstrap ClassLoader:负责加载JAVA_HOME下lib目录下的类ExtClassLoader:负责加载JAVA_HOME下l...
原创
发布博客 2020.02.26 ·
164 阅读 ·
0 点赞 ·
0 评论 ·
0 收藏

Spark和Flink的输出一致性保证及事务

事务可以称之为一次对数据库进行的操作序列。特性(ACID)原子性:指这些操作序列具有原子性,不可分割,要么全部执行成功,要么全部失败。一致性:一致性概念的说法很多,有说事务执行前后状态保持正确的,有说完整性体现的,也有说从一个一致性状态变成另一个一致性状态的,也有说是对数据可见性约束的等等。个人感觉还是很含糊,根据维基百科描述并综合一些观点,我的总结如下:1)、一致性是针对事务执行前后...
原创
发布博客 2020.02.24 ·
879 阅读 ·
0 点赞 ·
0 评论 ·
3 收藏
加载更多