- 博客(7)
- 收藏
- 关注
原创 Spark Shuffle
触发 Shuffle 的操作在 Spark 作业过程什么时候产生 Shuffle ? Shuffle描述着数据从map task输出到reduce task输入的这段过程。 通常shuffle分为两部分:shuffle write:map任务写上游计算产生的中间数据。shuffle read:reduce任务读map任务产生的中间数据,用于下游计算。 
2020-05-17 00:52:22 193
原创 Spark Core
Spark的架构 Spark 集群的节点? master、worker Spark 采用了分布式计算中的Master-Slave模型。Master作为整个集群的控制器,负责整个集群的正常运行;Worker是计算节点,接受主节点命令以及进行状态汇报。 Client作为用户的客户端负责提交应用。 Driver 的功能是创建 SparkContext, 负责执行用户写的
2020-05-17 00:42:49 153
原创 HDFS 的架构和读写流程
HDFS 的架构 NameNode :负责文件元数据信息的操作以及处理客户端的请求。 DataNode:负责存储实际的数据块,执行数据块的读/写操作。 SecondaryNameNode:保存 namenode 中对 HDFS metadata 的信息的备份,并减少 namenode 重启的时间。HDFS读写数据流的流程文件写入 1、客户端对 DistributedFileSystem 对象调用create
2020-05-09 23:27:25 727
原创 HBase 的读写流程
HBase 建表由Master处理 一、建表的请求是通过RPC的方式由Client发送到Master。(建表时应该定义合理的Schema,设置合理的Region数量 —— 预分区,通过预先创建一些空的Region,这样当数据写入HBase时,会按照Region分区情况,在集群内做数据的负载均衡,加快批量写入速度。) 二、Master侧接收到Clien...
2020-05-08 00:26:38 185
原创 Java垃圾回收机制
什么是自动垃圾回收? 自动垃圾回收是一种在堆内存中找出哪些对象在被使用,还有哪些对象没被使用,并且将后者删掉的机制。所谓使用中的对象(已引用对象),指的是程序中有指针指向的对象;而未使用中的对象(未引用对象),则没有被任何指针给指向,因此占用的内存也可以被回收掉。垃圾回收的步骤:一、标记 垃圾回收器...
2020-04-21 01:57:57 136
原创 数据库连接池大小
一颗CPU核心同一时刻只能执行一个线程,然后操作系统切换上下文,核心开始执行另一个线程的代码。给定一颗CPU核心,其顺序执行A和B永远比通过时间分片“同时”执行A和B要快。一旦线程的数量超过了CPU核心的数量,再增加线程数系统只会更慢,而不是更快。连接数 = ((核心数 * 2) + 有效磁盘数)公理:你需要一个小连接池,和一个充满了等待连接的线程的队列。为什么核心数 * 2?因为线程总是...
2020-04-21 01:50:18 168
原创 MapReduce作业流程
MapReduce作业流程图HDFS ——> InputFormat 阶段InputFormat ——> Split 阶段Split ——> RecordReader 阶段RecordReader ——> Map 阶段Map ——> Partition 阶段Partioner ——> spill(sort & Combiner) 阶段spill——>...
2020-04-13 05:45:46 281
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人