Pandas数据载入内存 统计 很难
分发聚合 Hadoop 分布式存储hdfs
数据可持续性 大数据存储 MapReduce Key Map任务分发 shuffle根据Key排序 Reduce聚合
Spark 比Hadoop提升10倍 迭代100倍
Spark核心 RDD 数据存储 DataFrame 海量数据的 巨型 Sql 数据分析 基于表或Sql RDD 数据处理操作 分布式存储在多个机器 RDD DataFrame
SparkJDKJVM
image.png
image.png
image.png
RDD不同节点 数据集 可持续化到内存 高效 每个节点的内存用起来 内存中完成Groupby
分割成多个Partition 在executor内存中
任务取名字 AppName;local操作的node所在服务器; 使用配置 创建SparkContext;SC创建RDD 序列数据 序列化 分块分发 parallelize([])
getNumPartitions
rdd是对象 在很多节点上 分布式RDD 可以用它的函数来
image.png
collect很危险 巨大数据取到本地
image.png
image.png
文本在本地 在hdfs
file://+绝对路径 hdfs: 直接hdfs路径
sc.textFile 序列化RDD
读取单个文本 每一行为RDD一个元素
image.png image.png
image.png
image.png
image.png
image.png image.png image.png image.png
image.png image.png
image.png
重新组织变换 进行优化 减少不必要的结果存储通信 Action触发
image.png
服务器driver内存容易被占满
take取RDD中前几个item take按照原有顺序 top按照排序
Action之后 是本地内存的序列 除非序列化为RDD 不然不能做变换
image.png image.png
image.png
reduce是action
count也是action
计算出发多次 rdd.cache 会将action的数据缓存 避免重复计算 置于内存中
image.png
成对的RDD 相同Key的Item聚合 k-v RDD kv字典AsMap
image.png
image.png
image.png
image.png
image.png
image.png image.png image.png
RDD 节点 内存;
DF,SQL结构化
image.png
sparkSession 对话任务
image.png
image.png
image.png
image.png
RDD的IO转换稍慢
image.png
存在分布器上 .show类
image.pngsql的结果 是dataFrame
image.png
文件-表 SC RDD ->DF
image.png image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png
image.png image.png image.png image.png
网友评论