Blog

Ch5-Java Lock 之 AQS

January 2, 2020
Java | JUC
java

AQS 即 java.util.concurrent.locks.AbstractQueuedSynchronizer,可以用来构建锁和同步器的框架,使用 AQS 能简单且高效地构造出应用广泛的大量的同步器。

...

Ch01-Antlr V4 介绍

August 1, 2019
Antlr4
antlr4

ANTLR(ANother Tool for Language Recognition)是一个强大的解析器生成器,用于读取、处理、执行或翻译结构化文本或二进制文件。它被广泛用于构建语言、工具和框架。ANTLR 根据语法定义生成解析器,解析器可以构建和遍历解析树。

...

Ch10-Spark 之内存管理

June 20, 2019
Apache Spark
spark

Spark 作为一个以擅长内存计算为优势的计算引擎,内存管理方案是其非常重要的模块;Spark 的内存可以大体归为两类:execution(运行内存)和 storage(存储内存),前者包括 shuffles、joins、sorts 和 aggregations 所需内存,后者包括 cache 和节点间数据传输所需内存;

...

Ch09-Spark 之 BlockMananger

June 15, 2019
Apache Spark
spark

Spark 的一个重要特性是能够把计算结果数据保存到内存或磁盘中,供后面的操作读取,这就是 RDD 的缓存,这个过程也可称为 persist 或 caching(Spark 提供了 persist()cache() 函数来缓存 RDD)。

...

Ch08-Spark 之 Checkpoint

June 3, 2019
Apache Spark
spark

checkpoint 的机制保证了需要访问重复数据的应用 Spark 的 DAG 执行行图可能很庞大,task 中计算链可能会很长,这时如果 task 中途运行出错,那么 task 的整个需要重算非常耗时,因此,有必要将计算代价较大的 RDD checkpoint 一下,当下游 RDD 计算出错时,可以直接从 checkpoint 过的 RDD 那里读取数据继续算。

...

Ch07-Spark 之缓存

May 31, 2019
Apache Spark
spark

Spark 的一个重要特性是能够把计算结果数据保存到内存或磁盘中,供后面的操作读取,这就是 RDD 的缓存,这个过程也可称为 persist 或 caching(Spark 提供了 persist()cache() 函数来缓存 RDD)。

...