sparkStream常用

sparkStream其实是一个微批处理

1 用spark-submit方式提交   先阻塞一个 :nc -lk 9999(绑定端口等待连接: nc -l -p port [-options] [hostname] [port]

                      /spark-submit --master local[2] --class org.apache.spark.examples.streaming.NetworkWordCount /home/hadoop/app/spark-2.2.0-bin-2.6.0-cdh5.7.0/examples/jars/spark-examples_2.11-2.2.0.jar  hadoop000 9999

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spark Stream相关技术讨论 1. 简介 Spark Stream是一个高度可扩展且容错的流处理框架,它是Apache Spark的一个库,可以处理高吞吐量的实时数据。它基于Spark的批处理引擎,提供了API和工具来处理实时数据。Spark Stream的设计目的是为了使开发人员可以使用Spark的批处理引擎处理实时数据,而无需使用不同的技术栈。 2. Spark Stream的特征 Spark Stream的特征包括: - 处理实时数据:Spark Stream可以处理实时数据流,而不是批处理数据。 - 高吞吐量:Spark Stream可以处理高吞吐量的流数据,以满足应用程序的要求。 - 可扩展性:Spark Stream可以水平扩展,以处理更多的数据。 - 容错性:Spark Stream可以自动恢复故障,以保证数据的完整性。 - 集成性:Spark Stream可以与其他Spark组件集成,如Spark SQL、Spark MLlib等。 - 简单易用:Spark Stream提供了简单易用的API和工具,使开发人员能够快速地开发和部署实时数据处理应用程序。 3. Spark Stream的架构 Spark Stream的架构包括以下组件: - 输入源:输入源是Spark Stream的数据来源,可以是Kafka、Flume、HDFS等。 - Spark Streaming Core:Spark Streaming Core是Spark Stream的核心组件,它提供了DStream API,用于处理实时数据流。 - Spark Core:Spark Core是Spark Stream的基础,它提供了RDD API,用于处理批处理数据。 - 批处理引擎:Spark Stream的批处理引擎可以将实时数据流转换为批处理数据,以便使用Spark Core进行处理。 - 输出源:输出源是Spark Stream的数据输出目标,可以是HDFS、数据库、Kafka等。 4. Spark Stream的API Spark Stream提供了DStream API,用于处理实时数据流。DStream是一个抽象类,代表一个持续时间内的数据流。DStream API提供了多种转换操作,包括转换、过滤、聚合、输出等。下面是一些常用的DStream转换操作: - map:对数据流中的每个元素应用一个函数。 - flatMap:对数据流中的每个元素应用一个函数,并将输出展平为单个数据流。 - filter:从数据流中过滤元素。 - union:将两个数据流合并为一个数据流。 - reduceByKey:按键聚合数据流中的元素。 - window:将数据流分成窗口,并对每个窗口执行转换操作。 - foreachRDD:将DStream转换为RDD,并将其传递给一个函数。 5. Spark Stream的示例 下面是一个简单的Spark Stream示例,该示例从Kafka中读取数据,并计算每个单词出现的次数: ```python from pyspark import SparkContext from pyspark.streaming import StreamingContext from pyspark.streaming.kafka import KafkaUtils sc = SparkContext(appName="PythonStreamingKafkaWordCount") ssc = StreamingContext(sc, 1) kafkaStream = KafkaUtils.createStream(ssc, "localhost:2181", "spark-streaming", {"test": 1}) lines = kafkaStream.map(lambda x: x[1]) counts = lines.flatMap(lambda line: line.split(" ")).map(lambda word: (word, 1)).reduceByKey(lambda a, b: a+b) counts.pprint() ssc.start() ssc.awaitTermination() ``` 6. 总结 Spark Stream是一个高度可扩展且容错的流处理框架,它可以处理高吞吐量的实时数据,并提供了简单易用的API和工具,使开发人员能够快速地开发和部署实时数据处理应用程序。Spark Stream的架构包括输入源、Spark Streaming Core、Spark Core、批处理引擎和输出源等组件。Spark Stream的API提供了多种转换操作,包括转换、过滤、聚合、输出等。最后,Spark Stream在实时数据处理领域具有广泛的应用,可以用于日志分析、监控、实时推荐等场景。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值