Spark 中算子功能与分类介绍

来源:互联网 发布:淘宝卖衣服从哪进货 编辑:程序博客网 时间:2024/05/18 09:22
    最近看了一些SPARK资料,还没有系统性的整理,这里先归纳一下spark中算子的总结。如有什么错误或者不妥之处,希望大神们指出,相互交流共同进步!!哈哈哈
    算子的定义:RDD中定义的函数,可以对RDD中的数据进行转换和操作。
    下面根据算子类型的分类进行总结:
1. value型算子
    从输入到输出可分为一对一(包括cache)、多对一、多对多、输出分区为输入分区自激
    1)一对一,
        map,简单的一对一映射,集合不变;
        flatMap,一对一映射,并将最后映射结果整合;
        mappartitions,对分区内元素进行迭代操作,例如过滤等,然后分区不变
        glom,将分区内容转换成数据
    2)多对一,
        union,相同数据类型RDD进行合并,并不去重
        cartesian,对RDD内的所有元素进行笛卡尔积操作
    3)多对多,
        groupBy,将元素通过函数生成相应的Key,然后转化为Key-value格式
    4)输出分区为出入分区子集,
        filter,对RDD进行过滤操作,结果分区不调整
        distinct,对RDD进行去重操作,
        subtract,RDD间进行减操作,去除相同数据元素
        sample/takeSample 对RDD进行采样操作
    5)cache,
        cache,将RDD数据原样存入内存
        persist,对RDD数据进行缓存操作
2. Key-Value算子
    Key-Value算子大致可分为一对一,聚集,连接三类操作
    1)一对一,
        mapValues,针对数值对中的Value进行上面提到的map操作
    2)聚集操作
        combineByKey、reduceByKey、partitionBy、cogroup
    3)连接
        join、leftOutJoin、rightOutJoin
3. Actions算子
    该算子通过SparkContext执行提交作业操作,出发RDD DAG的执行
    1)foreach, 对RDD中每个元素进行操作,但是不返回RDD或者Array,只返回Unit
    2)存入HDFS,saveAsTextFile,saveAsObjectFile
    3)scala数据格式,collect,collectAsMap,reduceByKeyLocally, lookup, count, top, reduce, fold, aggregate






















阅读(17) | 评论(0) | 转发(0) |
0

上一篇:android 存储结构与存储方法

下一篇:spark standalone mode

相关热门文章
  • BLE-NRF51822教程9—动态密码(...
  • GENERIC NETLINK 介绍及使用...
  • gnuplot用于科学研究
  • CDN 与 CDS 详解
  • 《循序渐进Linux》第二版即将...
  • Hadoop初探之Hadoop生态圈...
  • Zookeeper分布式集群部署...
  • http://shopceline-2013.6te.n...
  • Hadoop学习全程记录——在Ecli...
  • Hadoop与Hbase基本配置
  • linux dhcp peizhi roc
  • 关于Unix文件的软链接
  • 求教这个命令什么意思,我是新...
  • sed -e "/grep/d" 是什么意思...
  • 谁能够帮我解决LINUX 2.6 10...
评论热议
0 0