SPARK中对RDD的基本操作
来源:互联网 发布:淘宝怎么申请授权书 编辑:程序博客网 时间:2024/05/26 09:55
1、SPARK简介
(1)一种计算框架.spark其实只是一个计算引擎,而hadoop包含了存储和计算。也就是说,spark最多也就能替换掉hadoop的计算部分(mapreduce)。可从事包含流计算机器学习等功能,和hadoop相互兼容(可以从HDFS读取数据)。
重要特征:
在mapreduce会反复使用磁盘进行数据读取的迭代,spark则将所需要的数据先加载进内存。所以spark速度更快。
所谓map,就是把数据切片,reduce阶段,则是将数据进行混合处理。mapreduce只有两个算子,而spark提供的算子更多。
DAG(有向无环图),spark将任务以来解析为一个有向无环图。
和mapreduce不同,spark基于线程池
delay scheduling思想:假设一个节点接受一个任务,发现自己没有资源(如CPU空闲),会在某个时间区间后再次查看自己是否具有资源,通过任务的等待,而避免将任务依赖数据大规模在内网转移。大数据的处理原则就是,计算跟着数据走。
目前SPARK提供了java,python,scala和R语言四种API。spark是由scala写的。java8以前不支持函数式编程,在以前必须要采用匿名内部类的方式来实现,非常的丑陋,不推荐使用。
cluster manager
local 本地调度
standalone spark自带的集群管理器,是支持集群的,不是单机的意思
(2)架构如图所示:
YARN、MESOS是资源调度框架。
HDFS,S3是分布式文件系统
Tachyon是分布式文件系统,存在于内存中,以HDFS做持久化
Apache spark为批处理计算引擎
建立在spark基础上的有spark streaming(流处理,确切来说是微小的批处理)。spark sql可以用来实时查询。
上述的所有组件都在spark安装包里都包含了
一个SPARK的application由若干个job和一个driver program组成。用户提交的JOB会被提交给DAGScheduler.每个job包含多个stage。每个stage对应一个taskset,一个taskset包含若干个task。task是最小的工作单元。
driver program负责运行main函数,并创建sparkcontext.
spark中有两种TASK,一种为shuffle map task,一种为result task。
2、
(1)MAP
将RDD转化为新的一个mappedRDD
(2)distinct
对RDD中的元素进行去重
(3)cartesian
对两个RDD计算其笛卡尔积
- SPARK中对RDD的基本操作
- spark中RDD的基本操作方式
- spark中对rdd的几个操作
- spark RDD 基本操作
- Spark RDD基本操作
- Spark RDD基本操作
- spark-shell基本的RDD操作
- Spark中RDD操作
- 对spark中RDD的理解
- Spark RDD API 基本操作
- Spark Pair RDD 基本操作
- Spark 键值对RDD操作
- spark的RDD操作对key值操作的探索
- Spark 的键值对(pair RDD)操作,Scala实现
- spark RDD的基本命令
- spark中RDD的转化操作和行动操作
- 对spark中RDD的API的理解
- [1.3]Spark core编程(二)之RDD执行流程图与RDD的基本操作
- 获取任意View在屏幕上的坐标
- STL 中 sort函数用法简介
- Android如何实时监控CPU频率
- Some Tips About C++
- 3829: [Poi2014]FarmCraft
- SPARK中对RDD的基本操作
- java中int和Integer什么区别
- js中map的遍历方法
- C++ vector用法的详解
- C# DataTable用法
- 如何删除python pandas.DataFrame 的多重index
- OpenGL学习笔记1:环境配置和基本流程
- 12
- Linux-----系统安装【一】【挂载点配置】