Hhanwen 2020-05-03
1、分布式
2、基于内存
3、迭代式计算
每一批节点上的每一批数据就是一个RDD
RDD是spark的核心抽象
1、RDD是Spark提供的核心抽象,全称为Resillient Distributed Dataset,即弹性分布式数据集。
2、RDD在抽象上来说是一种元素集合,包含了数据。它是被分区的,分为多个分区,每个分区分布在集群中的不同节点上,从而让RDD中的数据可以被并行操作。(分布式数据集)
3、RDD通常通过Hadoop上的文件,即HDFS文件或者Hive表,来进行创建;有时也可以通过应用程序中的集合来创建。
4、RDD最重要的特性就是,提供了容错性,可以自动从节点失败中恢复过来。即如果某个节点上的RDD partition,因为节点故障,导致数据丢了,那么RDD会自动通过自己的数据来源重新计算该partition。这一切对使用者是透明的。
5、RDD的数据默认情况下存放在内存中的,但是在内存资源不足时,Spark会自动将RDD数据写入磁盘。(弹性)
什么是spark开发
1、离线批处理/延迟交互式数据处理
2、SQL查询
3、实时计算
核心编程就是
第一定义RDD从哪里来,读取文件,hdfs,linux本地文件,程序中的集合
第二定义RDD的计算操作,在spark中称为算子,map,reduce,flatmap,groupbykey,比mapreduce中的map和reduce强大太多
第三循环往复,第一次计算完成就会到新的节点上,变成新的RDD,定义新的算子
第四获取最终数据,将数据保存起来