美文网首页
SparkStreaming入门教程(五)输出操作Output

SparkStreaming入门教程(五)输出操作Output

作者: 胖滚猪学编程 | 来源:发表于2018-02-25 19:03 被阅读0次

Output Operations将DStream的数据推送到外部系统,如数据库或文件系统。类似于RDD的惰性求值,输出操作才会触发计算的实际执行。

  • print()
    在驱动器程序中打印每个批次中的前十个元素,通常用于调试模式。
  • saveAsTextFiles(prefix, [suffix])
    将此DStream的内容保存为文本文件。每个批处理间隔的文件名基于前缀和后缀:“prefix-TIME_IN_MS [.suffix]”。
  • saveAsObjectFiles(prefix, [suffix])
    将此DStream的内容保存为SequenceFiles序列化的Java对象。每个批处理间隔的文件名基于前缀和后缀:“prefix-TIME_IN_MS [.suffix]”
  • saveAsHadoopFiles(prefix, [suffix])
    将此DStream的内容保存为Hadoop文件。每个批处理间隔的文件名基于前缀和后缀:“prefix-TIME_IN_MS [.suffix]”
  • foreachRDD(func)
    最通用的输出运算符,将函数func应用于从流中生成的每个RDD。此功能将每个RDD中的数据推送到外部系统,例如将RDD保存到文件,或将其写入数据库,func内通常有RDD的action操作

前面几个都太简单,直接调用方法即可,只演示spark将数据输出插入到mysql数据库的代码

import java.sql.DriverManager
import org.apache.spark._
import org.apache.spark.streaming._
val ssc = new StreamingContext(sc,Seconds(5))   
val wordcount = ssc.socketTextStream("localhost", 7799).flatMap(_.split(" ")).map(word => (word, 1))
wordcount.foreachRDD(wd => wd.foreachPartition(
      data => {
        val conn = DriverManager.getConnection("jdbc:mysql://master:3306/test", "root", "123456")
        try {
          for (row <- data) {
            println("input data is " + row._1 + "  " + row._2)
            val sql = "insert into stream(word,num) values(" + "'" + row._1 + "'," + row._2 + ")"
            conn.prepareStatement(sql).executeUpdate()
          }
        } finally {
          conn.close()
        }
      }))
      
ssc.start()
ssc.awaitTermination()

相关文章

  • SparkStreaming入门教程(五)输出操作Output

    Output Operations将DStream的数据推送到外部系统,如数据库或文件系统。类似于RDD的惰性求值...

  • IO流

    IO流 I:input,O:output,又称为输入输出流。输入:读取操作,输出:写出操作(要站在内存的立场上理解...

  • output 输出

    简单 1 .编译文件输出到磁盘的相关配置 hash 1 .hash对应每一次构建,每次编译都不同,即使文件内容不改...

  • CGBitmapContextCreateImage: inva

    未设置 输出Output (AVCaptureVideoDataOutput) output.videoSetti...

  • python——genven协程

    其原理是当一个greenlet遇到IO(指的是input output 输入输出,比如网络、文件操作等)操作时,比...

  • IO读写原理与IO模型

    概述 I/O,即输入/输出(Input/Output)。用户程序进行IO操作并不是直接操作硬件设备进行读写,而是通...

  • 输入和输出

    输入是Input,输出是Output,因此,我们把输入输出统称为Input/Output,或者简写为IO。 输出:...

  • 操作系统中的I/O,及高性能IO模型

    I/O(Input/Output)输入输出,总体图 一.操作系统与设备之间的IO 简单来说(详细的请看《现代操作系...

  • 深入浅出Webpack 摘要 Output

    Output output 配置如何输出最终想要的代码。 filename 配置输出文件的名称,为 string ...

  • Android手机I/O调度模式简介

    I/O(input/output)即输入输出。I/O Schedulers不光提供了磁盘读写操作的策略,同时还关系...

网友评论

      本文标题:SparkStreaming入门教程(五)输出操作Output

      本文链接:https://www.haomeiwen.com/subject/vesztftx.html