IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> bigdata_sparkstreaming -> 正文阅读

[大数据]bigdata_sparkstreaming

一丶概述:

? ? ? 1.数据处理类型分类??

静态数据

多适用于批量计算、离线计算

数据源是不变的、有限的、显式离散的

流数据

数据是变动的、无限的、连续的

多适用于实时计算,能在秒级、秒内处理完成

实时数据分类

小时级

分钟级

秒级

? ? ? ? 2.sparkstreaming是什么

一句话总结:微批处理的流式(数据)实时计算框架。

原理:是把输入数据以某一时间间隔批量的处理,当批处理间隔缩短到秒级时,即可用于处理实时数据流。

? ? ? ? 优点:

可以和spark core、sparksql等无缝集成

支持从多种数据源获取数据,包括Kafka、Flume、Twitter、ZeroMQ、Kinesis以及TCP sockets,然后可以使用诸如map、reduce、join等高级函数进行复杂算法的处理,最后可以将处理结果存储到HDFS文件系统,数据库等。

? ? ? ?3.重要概念说明:

StreamingContext:

类比于SparkContext,SparkSqlContext

流计算框架中的中枢类,负责各种环境信息、分发调度等任务。

数据源:

简称:Source,意为DataSource的缩写

指流数据的来源是哪里,如文件,Socket输入、Kafka等。

离散流:

英文称Discretized?Stream,简称DStream,即为sparkstreaming微批处理当中的数据抽象单位。

是继spark core的RDD、spark sql的DataFrame和DataSet后又一基础的数据类型,是spark streaming特有的数据类型。

输入离散流:

英文简称:Input DStream

将Spark Streaming连接到一个外部Source数据源来读取数据的统称

批数据:

英文称Batch?Data

连续数据离散化的步骤:将流式实时连续的数据整体转化成以时间片为单位进行分批,即将流式数据转化成时间片为单位数据进行批数据处理,随着时间推移,这些处理结果即形成结果数据流,即流处理引擎形成。

时间片或批处理时间间隔

英文称 batch interval

人为对流数据进行定量的标准,以时间片作为拆分流数据的依据。

一个时间片的数据对应一个RDD实例。

窗口长度:

英文称window length

一个窗口覆盖的流数据的时间长度,必须是批处理时间间隔的倍数。

窗口分类:

滑动窗口

滚动窗口

滑动窗口时间间隔

滑动窗口:简称Sliding window

前一个窗口到后一个窗口所经过的时间长度间隔。必须是批处理时间间隔的倍数

?代码应用:

  • scala构建SparkStreaming应用步骤
    • sbt构建空eclipse项目(done)
    • build.sbt中添加spark-streaming依赖
    • 以StreamingContext为起点,而向Dstream编程
    • 测试运行、效果查看
    • name := "FirstSparkStreaming4Sbt"
      scalaVersion := "2.11.11"
      autoScalaLibrary := false
      organization := "com.tl.job002"
      libraryDependencies ++= Seq(
         //spark-core依赖 ,注意版本group对应通过%%实现
         "org.apache.spark" %% "spark-core" % "2.3.2" % "provided",
         "org.apache.spark" %% "spark-sql" % "2.3.2" % "provided",
         "org.apache.spark" %% "spark-streaming" % "2.3.2" % "provided"
      )
      o	以StreamingContext为起点,而向Dstream编程
      package com.tl.job002.streaming
      import org.apache.spark._
      import org.apache.spark.streaming._
      //SparkStreaming测试类
      object SparkStreamingTest {
        def main(args: Array[String]): Unit = {
          //    要初始化Spark Streaming程序,必须创建一个StreamingContext对象,
          //它是所有Spark Streaming功能的主要入口点。
          //一切都从SparkConf开始
         val conf = new SparkConf().setMaster("local[2]")
      .setAppName("NetworkWordCount")
          //指定时间间隔的ssc初始化
          val ssc = new StreamingContext(conf, Seconds(1))
         
          //ssc指定来自TCP源作为输入数据源,即链接一个指定主机的已打开的TCP端口,从该端口中读取文本数据,每行以”\n”作为每行的结尾。
          val lines = ssc.socketTextStream("localhost", 9999)
         
          //将DStream进行打平处理,实际是对其内部的离散的rdd进行打平处理
          val words = lines.flatMap(_.split("\\s+"))
         
          // 将单列的word转化为双列的kv结构,用于后边的wc操作
          val pairs = words.map(word => (word, 1))
         
          //对kv的输出进行wc计算
          val wordCounts = pairs.reduceByKey(_ + _)
          //打印wc结果到控制台
          wordCounts.print()
         
          //正式开始计算
          ssc.start()
          //等待计算结束,一般流式计算没有异常或人为干预是一直保持运行状态的
          ssc.awaitTermination()
        }
      }
      

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-11-16 18:54:27  更:2021-11-16 18:55:44 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/24 5:37:22-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码