主页

Spark 学习笔记03-运行

Spark 运行时架构 在分布式环境下,Spark 集群采用的是主/从结构。在一个 Spark 集群中,有一个节点负责中央协调,调度各个分布式工作节点。这个中央协调节点被称为驱动器(Driver)节点,与之对应的工作节点被称为执行器(executor)节点。驱动器节点可以和大量的执行器节点进行通信,它们也都作为独立的 Java 进程运行。驱动器节点和所有的执行器节点一起被称为一个 Spark 应用(application)。

阅读更多

Spark 学习笔记01-数据分区

在分布式程序中,通信的代价是很大的,因此控制数据分布以获得最少的网络传输可以极大地提升整体性能。和单节点的程序需要为记录集合选择合适的数据结构一样,Spark 程序可以通过控制 RDD 分区方式来减少通信开销。分区并不是对所有应用都有好处的——比如,如果给定 RDD 只需要被扫描一次,我们完全没有必要对其预先进行分区处理。只有当数据集多次在诸如连接这种基于键的操作中使用时,分区才会有帮助。我们会给出一些小例子来说明这一点。

阅读更多

RDD 基础

RDD (Resilient Distributed Dataset) 是 Spark 对数据的核心抽象——弹性分布式数据集。 RDD 其实就是分布式的元素集合,在 Spark 中,对数据的所有操作不外乎就是创建 RDD、转换已有的 RDD 以及调用 RDD 操作进行求值。而这一切的背后,Spark 会自动将 RDD 中的数据分发到集群上,并将操作并行化执行。

阅读更多

Spring Kafka 教程

Apache Kafka 是目前非常具有吸引力的一个分布式消息系统, Spring 是每个 Java 开发人员耳熟能详的流行的开发框架. 这里讲介绍什么是 Spring Kafka, 如何使用 KafkaTemplate 来想 kafka brokers 产生消息, 以及如何使用 “listener container” 从 Kafka 中消费消息. 原文: Spring Kafka Tutorial – Getting Started with the Spring for Apache Kafka

阅读更多