spark --学习教程

特点

  1. RDD是一个抽象类
  2. 支持多种类型:(传入参数为泛型)
  3. 分区、不可变、并行算子

分布式框架

  1. 数据的存储:切割 HDFS/S3
  2. 数据的计算:切割 spark
  3. 存储+计算 : HDFS+MapReduce/spark

五大特性


Internally, each RDD is characterized by five main properties:

  • A list of partitions

一系列的分区/分片

  • A function(计算) for computing each split

对一个RDD操作就是对RDD所在的所有分区进行操作

  • A list of dependencies on other RDDs

RDD一级一级的依赖

  • Optionally(可选), a Partitioner for key-value RDDs (e.g. to say that the RDD is hash-partitioned)

Partitioner:分区

对于k-v形式的RDD可以根据分区进行拆分

  • Optionally(可选), a list of preferred locations to compute each split on (e.g. block locations for an HDFS file)

数据处理会根据数据所在的位置,选择最近的节点进行计算


sparkContext/sparkConf

sparkContext:连接到spark集群:local/standalone/yarn/mesos

创建spark任务步骤:

  1. 创建sparkConf:配置spark的相关参数(k-v)

  2. 创建sparkContext

1
2
val conf = new SparkConf().setAppName(appName).setMaster(master)
new SparkContext(conf)
  1. 创建RDD
1
2
data = [1,2,3,4,5]
disData=sc.parallelize(data)
打赏
  • 版权声明: 本博客所有文章除特别声明外,著作权归作者所有。转载请注明出处!
  • Copyrights © 2018-2020 丁振莹
  • 访问人数: | 浏览次数:

你的每一分支持,是我努力下去的最大的力量 ٩(๑❛ᴗ❛๑)۶

支付宝
微信