第 2 章 预备知识
参考: Spark 基础知识
2.1 spark core 的常用算子
转换算子
算子 | 说明 |
---|---|
map |
转换集合中的每一个元素.(注意和 forEach 的区别) |
flatMap |
转换集合中的每一个元素,压平集合,把集合打碎,打碎成非集合元素 |
filter |
过滤元素 |
reduceByKey |
以key 为单位进行聚合 |
groupByKey |
以key为单位进行聚合(聚在一起,RDD[key,value]=>RDD[key,iterable[value]]) |
left join |
左外连接,全集在左边 |
join |
内关联,取左右交集 |
行动算子
算子 | 说明 |
---|---|
collect |
把 RDD 结果其提取到 Driver |
take |
取前n 个 |
countByKey |
每个key 的个数 Map[key,count] |
foreach |
遍历 RDD 中每个元素 ,一般用于每个元素的输出 |
foreachPartition |
按分区遍历 |
scala 中三个用来排序的算子
sorted
sortBy
sortWith
合并两个
map
:key
相同则把值相加.
2.2 spark RDD 的持久化
2.3 Spark 共享变量
广播变量
累加器
2.4 Spark SQL
两个核心概念: DataFrame 和 DataSet
DataFrame, DataSet, RDD 之间的转换
把数据写入到 Hive 中
从 Hive 中读取数据