Spark-RDDs 20200303

Spark RDD

新建工程

在这里插入图片描述
在这里插入图片描述

  • 修改 pom scala 版本2.11.8 spark 版本 2.4.3
    在这里插入图片描述

  • 准备 input.txt 文件
    在这里插入图片描述

  • 运行 wordcount
    在这里插入图片描述

SparkRDD 详解

1.SparContext

spark代表和一个集群的连接

spark shell 中已经为我们准备好 sparkContext

2.RDDs

弹性分布式数据集
Spark 中所有的计算都是通过RDD的创建,转换,操作完成的
  • 如何得到一个RDD
  • 1 通过加载外部数据集
如下 lines 就是一个数据集,一个RDD是由一个或多个分片组成的(Partitions)

在这里插入图片描述

  • 2.通过Spark的parallelize方法

在这里插入图片描述

RDD 转换操作 rdd- >rdd

只做转换不产生结果

  • map 接受一个函数,并应用到rdd的每一项,产生新的rdd

在这里插入图片描述

  • filter 通过函数过滤RDD

在这里插入图片描述

  • flatMap 摊平操作 将原本每行数据中的单词 最终整合在一个rdd中
    在这里插入图片描述

在这里插入图片描述

RDD 集合运算

  • distinct 去重
    在这里插入图片描述

  • union 联合
    在这里插入图片描述

  • intersection 交集
    在这里插入图片描述

  • substract 找出 rdd1 里面rdd2没有的元素
    在这里插入图片描述

Action 操作

 Action是结束运算,最终生成一个结果,将结果返回
  • reduce 接受一个函数 作用的rdd两个类型相同的元素上并返回新的元素
    在这里插入图片描述

  • Collect 遍历整个rdd 并返回最终结果

  • take(n) 返回rdd的个元素

  • top(n) 返回rdd的top个元素

  • foreach 配合 println 使用

元组 RDDs

  • map方法 构建
    在这里插入图片描述

  • 手动构建
    在这里插入图片描述

元组 RDDs api

  • reduceByKey 接受一个函数 计算 key 相同的value
    例如 wordcount中的
    在这里插入图片描述

在这里插入图片描述

  • groupByKey

在这里插入图片描述

  • mapValues(func) 作用于RDD 每一个元组的value
    在这里插入图片描述
  • flatMapValues(func) 根据某个func 不全或过滤values
  • keys
  • values
  • sortByKey
    在这里插入图片描述

-combineByKey (重点)

最常使用的基于key的聚合函数  返回类型可以与输入类型不同
发布了10 篇原创文章 · 获赞 2 · 访问量 1006

猜你喜欢

转载自blog.csdn.net/wpaycn/article/details/104649375
今日推荐