zoukankan      html  css  js  c++  java
  • SparkStreaming DStream相关操作

    DStream的相关操作:

    DStream上的操作与RDD的类似,分为以下两种:

    1. Transformations(转换)
    2. Output Operations(输出)/Action

     

    1.1Transformations

    ●常见Transformation---无状态转换:每个批次的处理不依赖于之前批次的数据

    Transformation

    Meaning

    map(func)

    DStream中的各个元素进行func函数操作,然后返回一个新的DStream

    flatMap(func)

    map方法类似,只不过各个输入项可以被输出为零个或多个输出项

    filter(func)

    过滤出所有函数func返回值为trueDStream元素并返回一个新的DStream

    union(otherStream)

    将源DStream和输入参数为otherDStream的元素合并,并返回一个新的DStream.

    reduceByKey(func, [numTasks])

    利用func函数对源DStream中的key进行聚合操作,然后返回新的(KV)对构成的DStream

    join(otherStream, [numTasks])

    输入为(K,V)(K,W)类型的DStream,返回一个新的(K(VW)类型的DStream

    transform(func)

    通过RDD-to-RDD函数作用于DStream中的各个RDD,可以是任意的RDD操作,从而返回一个新的RDD

     
    ●特殊的Transformations---有状态转换:当前批次的处理需要使用之前批次的数据或者中间结果。
    有状态转换包括基于追踪状态变化的转换(updateStateByKey)和滑动窗口的转换
    1.UpdateStateByKey(func)
    2.Window Operations开窗函数

     

    1.2. Output/Action

    Output Operations可以将DStream的数据输出到外部的数据库或文件系统

    当某个Output Operations被调用时,spark streaming程序才会开始真正的计算过程(RDDAction类似)

    Output Operation

    Meaning

    print()

    打印到控制台

    saveAsTextFiles(prefix, [suffix])

    保存流的内容为文本文件,文件名为"prefix-TIME_IN_MS[.suffix]".

    saveAsObjectFiles(prefix,[suffix])

    保存流的内容为SequenceFile,文件名为 "prefix-TIME_IN_MS[.suffix]".

    saveAsHadoopFiles(prefix,[suffix])

    保存流的内容为hadoop文件,文件名为"prefix-TIME_IN_MS[.suffix]".

    foreachRDD(func)

    Dstream里面的每个RDD执行func

    1.3. 总结:

     



  • 相关阅读:
    ruilei.cnblogs 访问量突破20万
    VSTS2008 Load Test Agent
    失落的星球 Lost Planet 秘籍
    C#去除特殊字符串
    Linq Coding Part Nine(IEnumerable、IQueryable、Set)
    Web Services Software Factory tutorial (1 of 5)
    迅雷新闻快讯区JS代码剖析
    Interfaces Topic
    前台如何调用后台事件
    [关注]个税起征点8000元什么时候到来?
  • 原文地址:https://www.cnblogs.com/TiePiHeTao/p/aefd22e3972417daaedb414942df7ed6.html
Copyright © 2011-2022 走看看