SparkContext(Spark上下文) /** * Main entry point for Spark functionality. A SparkContext represents the connection to a Spark * cluster, and can be used to create RDDs, accumulators and broadcast variables on that cluster. * * @note Only one `SparkConte…
创建或使用现有Session 从Spark 2.0 开始,引入了 SparkSession的概念,创建或使用已有的session 代码如下: val spark = SparkSession .builder .appName("SparkTC") .getOrCreate() 首先,使用了 builder 模式来创建或使用已存在的SparkSession,org.apache.spark.sql.SparkSession.Builder#getOrCreate 代码如下: def g…
Spark组件是基于分布式资源引擎层(Yarn等)和分布式存储层(HDFS等)之上的一个组件,Spark本质上是一个计算引擎,负责计算的,根据不同计算场景划分出了SQL.Streaming.MLib.GraphX.R等模块,这些模块各自处理适合各自特点的计算场景.Spark Core作为Spark技术栈的底层,提供如Spark初始化.数据模型.远程调用.内存模型.存储体系.序列化.安全.Web UI.计算调度体系.广播变量.IO.运行模式等等的核心功能和解决各模块的公共需求,是Spark的核心层…
Spark Core 1. 概述 Spark 是一种基于内存的快速.通用.可扩展的大数据分析计算引擎 1.1 Hadoop vs Spark 上面流程对应Hadoop的处理流程,下面对应着Spark的处理流程 Hadoop Hadoop 是由 java 语言编写的,在分布式服务器集群上存储海量数据并运行分布式 分析应用的开源框架 作为 Hadoop 分布式文件系统,HDFS 处于 Hadoop 生态圈的最下层,存储着所有的 数 据 , 支持着 Hadoop的所有服务 . 它的理论基础源于Goog…
SparkContext这是发达国家Spark入学申请,它负责的相互作用和整个集群,它涉及到创建RDD.accumulators and broadcast variables.理解力Spark架构,我们需要从入口开始.下图是图的官方网站. DriverProgram就是用户提交的程序,这里边定义了SparkContext的实例. SparkContext定义在core/src/main/scala/org/apache/spark/SparkContext.scala. Spark默认的构造函…
一.Spark-Shell交互式工具 1.Spark-Shell交互式工具 Spark-Shell提供了一种学习API的简单方式, 以及一个能够交互式分析数据的强大工具. 在Scala语言环境下或Python语言环境下均可使用. 启动Spark-Shell                ./bin/spark-shell      本地模式,线程数为1(1个CPU)                ./bin/spark-shell --master                ./bin…
第0章 预备知识0.1 Scala0.1.1 Scala 操作符0.1.2 拉链操作0.2 Spark Core0.2.1 Spark RDD 持久化0.2.2 Spark 共享变量0.3 Spark SQL0.3.1 RDD.DataFrame 与 DataSet0.3.2 DataSet 与 RDD 互操作0.3.3 RDD.DataFrame 与 DataSet 之间的转换0.3.4 用户自定义聚合函数(UDAF)0.3.5 开窗函数0.4 Spark Streaming0.4.1 Dst…
day1112 1.spark core复习 任务提交 缓存 checkPoint 自定义排序 自定义分区器 自定义累加器 广播变量 Spark Shuffle过程 SparkSQL 一. Spark Core回顾 1 集群启动 Spark集群启动流程: 1.调用start-alsh脚本,开始启动Master 2.Master启动以后, preStart方法调用了一个定时器,定时的检查超时的Worker. 3.启动脚本会解析slaves配置文件,找到启动Worker的相应节点,开始启动Worke…
引言 上一小节<TaskScheduler源代码与任务提交原理浅析2>介绍了Driver側将Stage进行划分.依据Executor闲置情况分发任务,终于通过DriverActor向executorActor发送任务消息. 我们要了解Executor的运行机制首先要了解Executor在Driver側的注冊过程.这篇文章先了解一下Application和Executor的注冊过程. 1. Task类及其相关 1.1 Task类 Spark将由Executor运行的Task分为ShuffleMa…
Spark Core    DAG概念        有向无环图        Spark会根据用户提交的计算逻辑中的RDD的转换(变换方法)和动作(action方法)来生成RDD之间的依赖关系,同时这个计算链也就生成了逻辑上的DAG.        RDD之间的关系可以从两个维度来理解:一个是RDD是从哪些RDD转换而来,也就是RDD的parent RDD(s)是什么:还有就是依赖于parent RDD(s)的哪些Partition(s).这个关系,就是RDD之间的依赖,org.apache.…