zoukankan      html  css  js  c++  java
  • 08、Spark常用RDD变换

    08、Spark常用RDD变换

    8.1 概述

    Spark RDD内部提供了很多变换操作,可以使用对数据的各种处理。同时,针对KV类型的操作,对应的方法封装在PairRDDFunctions trait中,KV类的RDD可以被隐式转换成PairRDDFunctions类型。其中很多的操作,和传统的SQL语句中的操作是对应的,只是底层换成Spark的MR计算。

    8.2 常用变换

    操作 解释
    map 变换,将输入的每个元素进行响应操作,生成新的元素
    flatMap 压扁,取出具有可迭代性质的组件中每个元素形成新的RDD
    filter 过滤,将符合条件的数据抽取出来
    reduceByKey 按照key对value进行聚合,对KV类型的RDD进行操作
    groupBy 按照特定操作进行分组,产生新RDD
    mapPartitions 对整个分区进行一次变换操作
    mapPartitionsWithIndex 对整个分区进行一次变换操作对,携带分区索引信息
    union 联合操作,将两个同型的RDD纵向合并,等价于sql union操
    intersect 提取两个RDD的共同的元素
    distinct 取出RDD集合中的重复元素,等价于SQL中distince查询
    groupByKey 按照key对value进行分组,针对KV类型RDD进行操作
    aggregateByKey 按照key进行聚合,可以改变类型
    join shuffle,按照key连接,等价于sql的连接操作
    leftOuterJoin 左外链接,按照key进行连接,等价于SQL的left outer join
    rightOuterJoin 右外链接,按照key进行连接,等价于SQL的right outer join
    fullOuterJoin 全外链接,按照key进行连接,等价于SQL的full outer join
    cogroup 协分组,对两个rdd的value进行聚合成二元组
    cartesian 笛卡尔积,交叉连接
    repartition 再分区,不论是增加还是减少分区,都需要shuffle过程
    coalesce 改变分区,需要携带shuffle=true参数来控制是否需要
  • 相关阅读:
    将数据绑定通过图表显现
    d3.js初识
    Josn
    d3-tip.js
    Java知识点总结
    Javascript的学习
    Java的多线程学习
    day11
    day10
    day09
  • 原文地址:https://www.cnblogs.com/xupccc/p/9543987.html
Copyright © 2011-2022 走看看