举报投诉联系我们 手机版 热门标签 名动网
您的位置:名动网 > sparkstreaming的工作原理 Spark Streaming

sparkstreaming的工作原理 Spark Streaming

2023-03-26 20:20 Spark编程指南

sparkstreaming的工作原理 Spark Streaming

sparkstreaming的工作原理

Spark Streaming是一种实时数据处理框架,它可以从多个数据源(如Kafka,Flume,Twitter等)中获取数据流,并将其转换为RDDs。它使用Spark Core的RDD API来处理数据流。它还可以将处理后的数据流存储到HDFS或者其他存储系统中。

Spark Streaming的工作原理是通过将数据流分割成小块来实现的。这些小块被称为“批”。在一个批中,Spark Streaming会读取一些数据并将其转换为RDDs。然后,Spark Streaming会使用RDD API来对这些RDDs进行处理。最后,处理后的RDDs会被写入到HDFS或者其他存储系统中。

// 创建 SparkStreamingContext 对象 
val ssc = new SparkStreamingContext(sparkConf, Seconds(5)) 
// 读取 Kafka 数据 
val kafkaStream = KafkaUtils.createDirectStream[String, String](ssc, PreferConsistent, Subscribe[String, String](topicsSet, kafkaParams)) 
// 处理 Kafka 数据 
val lines = kafkaStream.map(_.value) 
val words = lines.flatMap(_.split(" ")) 
val wordCounts = words.map(x => (x, 1L)).reduceByKey(_ + _) 
wordCounts.print() 
// 启动 SparkStreamingContext 上下文对象 ssc 
ssc.start()   // Start the computation ssc.awaitTermination()   // Wait for the computation to terminate

Spark Streaming

Spark Streaming

Spark streaming是Spark核心API的一个扩展,它对实时流式数据的处理具有可扩展性、高吞吐量、可容错性等特点。我们可以从kafka、flume、Twitter、 ZeroMQ、Kinesis等源获取数据,也可以通过由高阶函数map、reduce、join、window等组成的复杂算法计算出数据。最后,处理后的数据可以推送到文件系统、数据库、实时仪表盘中。事实上,你可以将处理后的数据应用到Spark的机器学习算法、图处理算法中去。

streaming-arch

在内部,它的工作原理如下图所示。Spark Streaming接收实时的输入数据流,然后将这些数据切分为批数据供Spark引擎处理,Spark引擎将数据生成最终的结果数据。

streaming-flow

Spark Streaming支持一个高层的抽象,叫做离散流(discretized stream)或者DStream,它代表连续的数据流。DStream既可以利用从Kafka, Flume和Kinesis等源获取的输入数据流创建,也可以在其他DStream的基础上通过高阶函数获得。在内部,DStream是由一系列RDDs组成。

本指南指导用户开始利用DStream编写Spark Streaming程序。用户能够利用scala、java或者Python来编写Spark Streaming程序。

注意:Spark 1.2已经为Spark Streaming引入了Python API。它的所有DStream transformations和几乎所有的输出操作可以在scala和java接口中使用。然而,它只支持基本的源如文本文件或者套接字上的文本数据。诸如flume、kafka等外部的源的API会在将来引入。

  • 一个快速的例子
  • 基本概念

  • 关联
  • 初始化StreamingContext
  • 离散流
  • 输入DStreams
  • DStream中的转换
  • DStream的输出操作
  • 缓存或持久化
  • Checkpointing
  • 部署应用程序
  • 监控应用程序

  • 性能调优

  • 减少批数据的执行时间
  • 设置正确的批容量
  • 内存调优

  • 容错语义


阅读全文
以上是名动网为你收集整理的sparkstreaming的工作原理 Spark Streaming全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • neo4j的优点 Neo4j - 特点和优势

    neo4j的优点 Neo4j - 特点和优势

    2023-03-27 neo4j教程

    Neo4j的特点 SQL就像简单的查询语言Neo4j CQL 它遵循属性图数据模型它通过使用Apache Lucence支持索引它支持UNIQUE约束它包含一...

  •  Neo4j CQL - LIMIT和SKIP子句

    Neo4j CQL - LIMIT和SKIP子句

    2023-05-02 neo4j教程

    Neo4j CQL LIMIT子句Neo4j CQL已提供“LIMIT”子句来过滤或限制查询返回的行数。 它修剪CQL查询结果集底部的结果。 如果我们要修...

  • neo4j环境配置 Neo4j - Zip环境设置

    neo4j环境配置 Neo4j - Zip环境设置

    2023-06-18 neo4j教程

    在本章中,我们将讨论如何使用ZIP文件安装Neo4j数据库服务器。 如果要安装具有exe文件格式的Neo4j数据库服务器,请参考上一章。...

  • mongodb 教程 MongoDB 教程导读

    mongodb 教程 MongoDB 教程导读

    2023-05-05 MongoDB教程

    MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。MongoDB是一个介...

  •  SQLite 视

    SQLite 视

    2023-06-21 SQLite教程

    视图(View)只不过是通过相关的名称存储在数据库中的一个 SQLite 语句。视图(View)实际上是一个以预定义的 SQLite 查询形式存...

© 2024 名动网 mdwl.vip 版权所有 联系我们