zoukankan      html  css  js  c++  java
  • rdd相关

    RDD(Resilient Distributed Dataset) 弹性分布式数据集

    不可变的分布式对象集合,每个RDD被分为多个分区,分区运行在集群中的不同节点上。

    1.创建方法:

    1)读取外部数据集

    2)驱动器程序里分发驱动器程序中的对象集合(list/set)

    调用示例:

    import org.apache.spark.SparkContext

    import org.apache.spark.SparkContext._

    val sc = new SparkContext(conf)

    读取外部数据集

    lines = sc.textFile("filename")

    对集合进行并行化(parallelize)

    lines = sc.parallelize(List(1,2,3,4,5))

    2.操作类型

    1)转化操作(transformation)

    由一个RDD生成一个新的RDD

    2)行动操作(action)

    对RDD计算一个结果,将结果返回到驱动器程序中。

    基本RDD

    1.针对各个元素的转化操作

    map():接收一个函数,将函数用于RDD的每个元素,返回新的RDD以及对应元素的值

    filter():接收一个函数,将RDD中满足该函数的元素放入新的RDD中

    val input = sc.parallelize(List(1,2,3,4))

    val result = input.map(x=>x*x)

    println(result.collect().mkString(","))

    常用转化操作:

    map():函数构成新的RDD

    flatMap():函数用于新的RDD,通常用来切分单词

    filter():反馈一个通过传给filter()的函数元素组成的rdd ex: rdd.filter(x=>x!=1)

    distinct():去重

    sample(withReplacement,fraction,[seed]):对rdd采样

    union():生成 一个包含两个rdd中所有元素的rdd,

    intersection():求两个rdd共同的元素的rdd

    subtract():移除一个rdd中的内容

    cartesian():与另一个rdd的笛卡尔积

    常用行动操作:

    reduce():接受一个函数作为参数,比如累加,方便计算元素总和,元素个数etc

    fold():接受一个函数,加上一个初始值作为每个分区第一次调用时的结果

    collect():返回rdd中所有元素

    count():返回元素个数

    countByValue():各元素在rdd中出现的次数

    take(num):返num个元素

    top(m):返回前m个元素

    takeOrdered(num)(ordering):rdd中按提供的顺序返回最前面num个元素

    takeSample(withReplacement,num,[seed]).reduct(func):从rdd中任意返回一些元素

    aggregate(zeroValue)(seqOp,combOp):类似reduct(),通常返回不同类型的函数 

    foreach(func):对rdd中每个元素使用给定的函数

    持久化存储:

    偌rdd.persist() unpersist()

    MEMORY_ONLY

    MEMORY_ONLY_SER

    MEMORY_AND_DISK

    MEMORY_AND_DISK_SER

    DISK_ONLY

  • 相关阅读:
    【UWP】仅在TextBlock文本溢出时显示Tooltip
    Vue CSS引用背景图片问题
    使用C#与CefSharp相互调用所踩过的坑
    使用JS在网页上查看显示PDF文件
    VS 代码提示默认不选中 解决办法
    Windows Server 2012 R2更新(KB2919355)
    在ASP.NET Core 3.1中使用Swagger
    SQL SERVER 数据库授权指定用户
    第一篇博客
    观察者模式
  • 原文地址:https://www.cnblogs.com/supermanwx/p/9111233.html
Copyright © 2011-2022 走看看