spark core:
实现了 spark 的基本功能,包含任务调度、内存管理、错误恢复、与存储系统交互等模块;Sparkrdd 弹性分布式数据集;RDD 是 spark 中最重要的数据结构;
可以简单的理解成一个提供了许多操作接口的数据集合 和一般数据集不同的是,它分布存储于一批机器中(内存或磁盘中)
创建 rdd 的两种方式:
读取一个外部数据集 sc.textFile
在驱动器程序里分发驱动器程序里的对象集合 sc.paralleize
rdd 创建 partition 说明:
(1).local 版:spark-shell --Master local[n]
a.【parallelize】-->默认创建的分区数为"n"
b.【. textFile】
-->加载本地文件:默认创建的分区数为最大为 2,如果 n=1<2,则为1
-->hdfs 文件系统:加载的分区数为 block 个数;注:block块的大小应大于 10%(inputsplit 知识点);更改分区数必须大于等于 block 数
(2).spark 集群 spark-shell --Master spark://master:7077
a.【parallelize】-->默认创建的分区数为 Cores 的总数==Executor 数
b.【 textFile】
-->加载本地文件:默认创建的分区数为最大为 2,如果 n=1<2,则为1
-->hdfs 文件系统:加载的分区数为 block 个数;注:block 块的大小应大于 10%(inputsplit 知识点);更改分区数必须大于等于 block 数
(3).yarn 集群 spark-shell --Master yarn
a.【parallelize】-->默认创建的分区数为 yarn 集群的 Executor 数
b.【 textFile】
-->加载本地文件:默认创建的分区数为最大为 2,如果 n=1<2,则为1
-->hdfs 文件系统:加载的分区数为 block 个数;注:block 块的大小应大于 10%(inputsplit 知识点);更改分区数必须大于等于 block 数
rdd 操作:
转化操作,惰性的
行动操作,会触发具体计算