Spark Streaming 实时流处理引擎

01 什么是Spark Streaming Spark Streaming是Spark Core API(Spark RDD)的扩展,支持对实时数据流进行可伸缩、高吞吐量、容错处理。数据可以从Kafka、Flume、Kinesis或TCP Socket等多种来源获取,并且可以使用复杂的算法处理数据,这些算法由map()、reduce()、join()和window()等高级函数表示。处理后的数据可以推送到文件系统、数据库等存储系统。事实上,可以将Spark的机器学习和图形处理算法应用... ... [查看更多]

Views: 152

Spark SQL 结构化数据处理引擎

什么是Spark SQL Spark SQL是一个用于结构化数据处理的Spark组件。所谓结构化数据,是指具有Schema信息的数据,例如json、parquet、avro、csv格式的数据。与基础的Spark RDD API不同,Spark SQL提供了对结构化数据的查询和计算接口。 Spark SQL的主要特点: 将SQL查询与Spark应用程序无缝组合 Spark SQL允许使用SQL在Spark程序中查询结构化数据。与Hive不同的是,Hive是将SQL翻译成MapRedu... ... [查看更多]

Views: 138

Spark RDD 实战案例

IDEA 创建基于Maven的Spark项目 三台虚拟机搭建的集群 启动集成如下: 本地环境由于需要打包放到虚拟机运行,因此scala版本需要和虚拟机中编译spark所用的scala的版本一致。如何知道虚拟机中spark是用的什么版本scala编译的呢?可以进入虚拟机的spark-shell查看: 可见2.4.8并不是官网所说的使用scala2.12,实际上是2.11 接下来使用IDEA创建一个MAVEN项目,使用scala模板 配置项目名称 配置有效的maven环境 修改... ... [查看更多]

Views: 78

Spark核心源码分析

01 Spark集群启动原理 Spark集群启动时,会在当前节点(脚本执行节点)上启动Master,在配置文件conf/slave中指定的每个节点上启动一个Worker。而Spark集群是通过脚本启动的。 查看启动脚本的内容: 内容: 从启动脚本的内容和注释可以看出,start-all.sh脚本主要做了四件事: (1)检查并设置环境变量 (2)加载Spark配置 Spark配置的加载,使用了脚本文件sbin/spark-config.sh。 (3)启动Master进程 Maste... ... [查看更多]

Views: 84

Spark RDD弹性分布式数据集

01 什么是RDD Spark提供了一种对数据的核心抽象,称为弹性分布式数据集(Resilient Distributed Dataset,简称RDD)。这个数据集的全部或部分可以缓存在内存中,并且可以在多次计算时重用。RDD其实就是一个分布在多个节点上的数据集合。 RDD的弹性主要是指:当内存不够时,数据可以持久化到磁盘,并且RDD具有高效的容错能力。分布式数据集是指:一个数据集存储在不同的节点上,每个节点存储数据集的一部分。 例如,将数据集(hello,world,scala,s... ... [查看更多]

Views: 73