首页 > 其他分享 >Transform

Transform

时间:2024-01-23 15:56:31浏览次数:16  
标签:String val Transform RDD each new DStream

  /**
   * Return a new DStream in which each RDD is generated by applying a function
   * on each RDD of 'this' DStream.
  在调用的stream的RDD中应用传入的函数,返回一个新的DStream */ def transform[U: ClassTag](transformFunc: RDD[T] => RDD[U]): DStream[U] = ssc.withScope { // because the DStream is reachable from the outer object here, and because // DStreams can't be serialized with closures, we can't proactively check // it for serializability and so we pass the optional false to SparkContext.clean val cleanedF = context.sparkContext.clean(transformFunc, false) transform((r: RDD[T], _: Time) => cleanedF(r)) } /** * Return a new DStream in which each RDD is generated by applying a function * on each RDD of 'this' DStream. */ def transform[U: ClassTag](transformFunc: (RDD[T], Time) => RDD[U]): DStream[U] = ssc.withScope { // because the DStream is reachable from the outer object here, and because // DStreams can't be serialized with closures, we can't proactively check // it for serializability and so we pass the optional false to SparkContext.clean val cleanedF = context.sparkContext.clean(transformFunc, false) val realTransformFunc = (rdds: Seq[RDD[_]], time: Time) => { assert(rdds.length == 1) cleanedF(rdds.head.asInstanceOf[RDD[T]], time) } new TransformedDStream[U](Seq(this), realTransformFunc) }

Transform 允许 DStream 上执行任意的 RDD-to-RDD 函数。即使这些函数并没有在 DStream的 API 中暴露出来,通过该函数可以方便的扩展 Spark API。该函数每一批次调度一次。其实也就是对 DStream 中的 RDD 应用转换。通俗的讲可以对每个批次中的DStream封装的RDD进行操作,可以直接使用RDD的算子

    val conf: SparkConf = new SparkConf().setMaster("local[*]").setAppName("wordcount")
    val sc = new StreamingContext(conf, Duration(3000))
    val lineStream: ReceiverInputDStream[String] = sc.socketTextStream("localhost", 9999)
    val wordAndCountDs: DStream[(String, Int)] = lineStream.transform(rdd => {
      val words: RDD[String] = rdd.flatMap(_.split(" "))
      val wordMap: RDD[(String, Int)] = words.map((_, 1))
      val reduceSum: RDD[(String, Int)] = wordMap.reduceByKey(_ + _)
      reduceSum
    })
    wordAndCountDs.print()
    sc.start()
    sc.awaitTermination()

 

标签:String,val,Transform,RDD,each,new,DStream
From: https://www.cnblogs.com/huifeidezhuzai/p/17982638

相关文章

  • Transformer的应用
    Transformer写在前面本学期学习了NLP的课程,本小菜鸡结合做的课设(基于Transformer的英文文档摘要系统的设计与实现),来写一下有关于Transformer的相关内容吧,有问题之处还请各位大佬批评指正系统的背景抽象文本摘要是自然语言处理中最具挑战性的任务之一,涉及理解长段落、信息压缩......
  • 无涯教程-MATLAB - 变换(Transforms)
    MATLAB提供了用于处理变换的命令,例如Laplace和Fourier变换,转换在科学和工程中用作简化分析并从另一个角度查看数据的工具。例如,傅立叶变换允许我们将表示为时间函数的信号转换为频率函数,拉普拉斯变换使我们能够将微分方程转换为代数方程。MATLAB提供了laplace,傅立叶和fft命......
  • 题解 [ABC242D] ABC Transform
    【洛谷博客】很巧妙的一道题。题意给定一个字符串\(S\),只包含字符A,B,C。每过一个时刻,字符会发生变化:A\(\to\)BC,B\(\to\)CA,C\(\to\)AB。设\(0\)时刻为\(S_0=S\)。进行\(Q\)次询问,每次询问时刻\(t\)时,字符串\(S_t\)中第\(k\)个字符。分析为了方便处理,我这里将所......
  • IGC的底层核心结构Transformer是如何彻底改变NLP游戏规则的?OJAC近屿智能带你一探究竟
    没有Transformer,就没有NLP的突破,听起来有些夸张,但事实确实如此。什么是Transformer?Transformer是一种基于注意力机制的神经网络架构。可以用于处理序列数据,被广泛应用于翻译、识别等任务。这种模型的主要特点是使用自注意力机制和位置Embedding来提升语言的表达能力。Transformer模......
  • Transformer 原理图解
    转载:小白看得懂的Transformer(图解)引言谷歌推出的BERT模型在11项NLP任务中夺得SOTA结果,引爆了整个NLP界。而BERT取得成功的一个关键因素是Transformer的强大作用。谷歌的Transformer模型最早是用于机器翻译任务,当时达到了SOTA效果。Transformer改进了RNN最被人诟病的训练......
  • ICLR 2022: Anomaly Transformer论文阅读笔记(2) 深度解析代码
    AnomalyTransformer是一个由Transformer:AttentionIsAllYouNeed启发出的检测时间序列异常点的无监督学习算法。在这一篇我会深度解析论文算法以及代码的一一对应,让人更方便能读懂和使用源代码。阅读笔记前篇:ICLR2022:AnomalyTransformer论文阅读笔记+代码复现阅读前提......
  • SSD中transform.Compose()参数说明
    ConvertFromInts()将图像像素值从int变成float32ToAbsoluteCoords()从比例坐标转为真实坐标(标准化)PhotometricDistort()对图像的亮度、对比度、色相与饱和度随机调整,然后随机调换通道Expand(mean)扩展图像画布尺寸RandomSampleCrop()随机裁剪图像RandomMirror()图像翻转......
  • 第一周-transformer详解
     第一周-transformer详解一、搭建教程的环境49.3.1使用Transformer构建语言模型-第1步_哔哩哔哩_bilibili1安装conda详解见blogs2创建python指定环境$condacreate-nmyenvpython=3.6.6$condaactivatemyenv3创建指定的torch环境$condainstallpytorch=1.3.1 -......
  • Learning Dynamic Query Combinations for Transformer-based Object** Detection and
    Motivation&Intro基于DETR的目标检测范式(语义分割的Maskformer也与之相似)通常会用到一系列固定的query,这些query是图像中目标对象位置和语义的全局先验。如果能够根据图像的语义信息调整query,就可以捕捉特定场景中物体位置和类别的分布。例如,当高级语义显示图像是一张合影时,我......
  • [NLP复习笔记] Transformer
    1.Transformer概述1.1整体结构\(\text{Transformer}\)主要由\(\text{Encoder}\)和\(\text{Decoder}\)两个部分组成。\(\text{Encoder}\)部分有\(N=6\)个相同的层,每层包含一个\(\text{Muti-HeadAttention}\)(多头注意力机制,由多个\(\text{Self-Attention}\)组成......