• 寒假学习笔记13


    spark常用

    Transformation

    • map
      将一个RDD中的每个数据项,通过map中的函数映射变为一个新的元素。
      输入分区与输出分区一对一

    • flatMap
      每一个 input item可以被映射成0个或多个output item

    • distinct
      去重

    创建RDD

    • parallelize
      从一个Seq集合创建RDD

    • makeRDD
      从一个Seq集合创建RDD。

    • textFile
      从HDFS文件创建

    RDD转换

    • coalesce
      将RDD重分区,使用HashPartitioner
      第二个参数是否进行shuffle,默认false

    • repartition
      上述算子第二个参数为true

    • mapPartitions
      映射函数的参数为RDD中每一个分区的迭代器
      如果在映射的过程中需要频繁创建额外的对象,使用mapPartitions要比map高效 (例如,将RDD中的所有数据通过JDBC连接写入数据库,如果使用map函数,可能要为每一个元素都创建一个connection,这样开销很大,如果使用mapPartitions,那么只需要针对每一个分区建立一个connection)

    • mapPartitionsWithIndex

    • union
      将2个RDD合并,不去重

    • intersection
      返回2个RDD的交集

    • subtract
      返回在RDD中存在,另一个不存在的元素,不去重

    • randomSplit
      根据权重,将一个RDD切分为多个

    • glom
      将RDD中每个分区的元素集合成Array

    RDD键值转换

    • partitionBy
      根据partitioner函数生成新的shuffleRDD,即重新分区

    • mapValues
      对value进行map操作

    • flatMapValues
      对value进行操作并合并分区

    • combineByKey
      RDD[K,V] -> RDD[K,C]

    • foldByKey
      对RDD[K,V]根据K将V做折叠、合并处理

    • groupByKey
      将RDD[K,V]中每个K对应的V值,合并到一个集合Iterable[V]

    • reduceByKey
      将RDD[K,V]中每个K对应的V值根据映射函数进行运算

    • reduceByKeyLocally
      将RDD[K,V]中每个K对应的V值根据映射函数来运算,运算结果映射到一个Map[K,V]中

    • join
      SQL中的内关联join

    RDD action

    • first
      返回第一个,不排序

    • count

    • reduce
      对RDD中元素进行二元运算,返回结果

    • collect
      将RDD转换成数组

    • take
      等于数组get

    • top
      按排序top, 默认降序

    • takeOrdered
      和top相反的顺序take

    • aggregate
      聚合RDD中元素

    • fold
      使用相同seqOp和combOp的aggregate

    • lookup
      指定K值,返回RDD中该K对应的所有V

    • foreach
      遍历RDD,操作每一个元素

    • foreachPartition
      操作每一个分区



  • 相关阅读:
    python: 第三方时间库 arrow
    PyQt5程序打包的2种方式
    python:多任务(线程、进程、协程)
    python:网络编程(udp 和 tcp)
    python:使用matplotlib画图时,中文乱码的问题
    python:浅拷贝和深拷贝
    使用scrapy编写爬虫:爬取豆瓣Top250读书的评论
    爬虫小案例:多协程工作
    selenium:指挥浏览器工作
    爬虫小案例:联想词汇搜索
  • 原文地址:https://www.cnblogs.com/wxy2000/p/12318368.html
Copyright © 2020-2023  润新知