Spark Streaming编程实战(开发实例) 本节介绍如何编写 Spark Streaming 应用程序,由简到难讲解使用几个核心概念来解决实际应用问题。流数据模拟器在实例演示中模拟实际情况,需要源源不断地接入流数据,为了在演示过程中更接近真实环境,首先需要定义流数据模拟器。该模拟器的主要功能是通过 Socket 方式监听指定的端口号,当外部程序通过该端口进行连接并请求数据时,模拟器将定时将指定的文件数据进行随机获取,并发送给外部程序...
Spark DStream相关操作 与 RDD 类似,DStream 也提供了自己的一系列操作方法,这些操作可以分成 3 类:普通的转换操作、窗口转换操作和输出操作。普通的转换操作普通的转换操作如表 1 所示表 1 普通的转换操作 Suo 描述 map(func) 源 DStream 的每个元素通过函数 func 返回一个新的 DStream。 flatMap(func) 类似于 map 操作...
Spark Streaming编程模型 DStream 的操作流程DStream 作为 Spark Streaming 的基础抽象,它代表持续性的数据流。这些数据流既可以通过外部输入源来获取,也可以通过现有的 DStream 的 Transformation 操作来获得。在内部实现上,DStream 由一组时间序列上连续的 RDD 来表示。如图 1 所示,每个 RDD 都包含了自己特定时间间隔内的数据流。图 1DStr...
Spark Streaming的系统架构 传统流处理系统架构流处理架构的分布式流处理管道执行方式是,首先用数据采集系统接收来自数据源的流数据,然后在集群上并行处理数据,最后将处理结果存放至下游系统。为了处理这些数据,传统的流处理系统被设计为连续算子模型,其工作方式如图 1 所示。系统包含一系列的工作结点,每组结点上运行一至多个连续算子。对于流数据,每个连续算子(ContinuousOperator)一次处理一条记录,并且将记录...
大数据框架Spark Streaming简介 Spark Streaming 是 Spark 核心 API 的一个扩展,可以实现高吞吐量的、具备容错机制的实时流数据的处理。Spark Streaming 支持从多种数据源获取数据,包括 Kafka、Flume、Twitter、ZeroMQ、Kinesis 以及 TCP Sockets。从数据源获取数据之后,可以使用诸如 map、reduce、join 和 window 等高级函数进行复杂算...
大数据框架Spark开发实例(编程实践) 本节将介绍如何实际动手进行 RDD 的转换与操作,以及如何编写、编译、打包和运行 Spark 应用程序。启动 SparkShellSpark 的交互式脚本是一种学习 API 的简单途径,也是分析数据集交互的有力工具。Spark 包含多种运行模式,可使用单机模式,也可以使用分布式模式。为简单起见,本节采用单机模式运行 Spark。无论采用哪种模式,只要启动完成后,就初始化了一个 Spa...
大数据框架Spark生态圈简介 Spark 生态圈是加州大学伯克利分校的 AMP 实验室打造的,是一个力图在算法(Algorithms)、机器(Machines)、人(People)之间通过大规模集成来展现大数据应用的平台。AMP 实验室运用大数据、云计算、通信等各种资源及各种灵活的技术方案,对海量不透明的数据进行甄别并转化为有用的信息,以供人们更好地理解世界。该生态圈已经涉及机器学习、数据挖掘、数据库、信息检索、自然语言处...
大数据框架Spark总体架构和运行流程 本节将首先介绍 Spark 的运行架构和基本术语,然后介绍 Spark 运行的基本流程,最后介绍 RDD 的核心理念和运行原理。Spark 总体架构Spark 运行架构如图 1 所示,包括集群资源管理器(Cluster Manager)、多个运行作业任务的工作结点(Worker Node)、每个应用的任务控制结点(Driver)和每个工作结点上负责具体任务的执行进程(Executor)。...
大数据框架Spark RDD是什么? Spark 的核心是建立在统一的抽象弹性分布式数据集(Resiliennt Distributed Datasets,RDD)之上的,这使得 Spark 的各个组件可以无缝地进行集成,能够在同一个应用程序中完成大数据处理。本节将对 RDD 的基本概念及与 RDD 相关的概念做基本介绍。RDD 的基本概念RDD 是 Spark 提供的最重要的抽象概念,它是一种有容错机制的特殊数据集合,可以分...
大数据框架Spark是什么?Spark和Hadoop的区别 Spark 是加州大学伯克利分校 AMP(Algorithms,Machines,People)实验室开发的通用内存并行计算框架。Spark 在 2013 年 6 月进入 Apache 成为孵化项目,8 个月后成为 Apache 顶级项目。Spark 以其先进的设计理念,迅速成为社区的热门项目,围绕着 Spark 推出了 SparkSQL、SparkStreaming、MLlib 和 Gr...
大数据框架Spring Kafka和Spring Boot配置 在下面的教程中,我们将演示如何使用Spring Boot配置Spring Kafka。 Spring Boot使用合理的默认配置Spring Kafka。并使用application.yml属性文件覆盖这些默认值。项目设置Spring Kafka:2.1.4.RELEASE Spring Boot:2.0.0.RELEASE Apache Kafka:kafka_2.11-...
大数据框架Spring消费者和生产者 本教程演示了如何发送和接收来自Spring Kafka的消息。 首先创建一个能够发送消息给Kafka主题的Spring Kafka Producer。 接下来,我们创建一个Spring Kafka Consumer,它可以收听发送给Kafka主题的消息。使用适当的键/值序列化器和解串器来配置它们。 最后用一个简单的Spring Boot应用程序演示应用程序。下载并安装Apache Kafka...
大数据框架Kafka应用 Kafka支持许多最好的工业应用。 在本章中,我们将简要介绍一些Kafka最显着的应用。推特Twitter是一种在线社交网络服务,提供发送和接收用户推文的平台。 注册用户可以阅读和发布推文,但未注册的用户只能阅读推文。 Twitter使用Storm-Kafka作为其流处理基础设施的一部分。LinkedIn在LinkedIn上使用Apache Kafka来获取活动流数据和运营指标。 ...
大数据框架Kafka工具 Kafka工具包装在org.apache.kafka.tools.*下。 工具分为系统工具和复制工具。系统工具系统工具可以使用run class脚本从命令行运行。 语法如下 –bin/kafka-run-class.sh package.class -- options 下面提到了一些系统工具 –Kafka迁移工具– 此工具用于将代理从一个版本迁移到另一个版本。 Mir...
大数据Kafka与Spark整合 在本章中,将讨论如何将Apache Kafka与Spark Streaming API集成。Spark是什么?Spark Streaming API支持实时数据流的可扩展,高吞吐量,容错流处理。 数据可以从Kafka,Flume,Twitter等许多来源获取,并且可以使用复杂算法进行处理,例如:映射,缩小,连接和窗口等高级功能。 最后,处理后的数据可以推送到文件系统,数据库和现场仪表板上。...
大数据Kafka与Storm整合 在本章中,我们将学习如何将Kafka与Apache Storm集成。Storm是什么?Storm最初是由Nathan Marz和BackType团队创建的。 在很短的时间内,Apache Storm成为分布式实时处理系统的标准,用于处理大数据。 Storm速度非常快,每个节点每秒处理超过一百万个元组的基准时钟。 Apache Storm持续运行,从配置的源(Spouts)中消耗数据并将数据...
大数据Kafka简单的生产者例子 在这一节中将创建一个使用Java客户端发布和使用消息的应用程序。 Kafka生产者客户端由以下API组成。KafkaProducer API下面来了解Kafka生产者API。 KafkaProducer API的核心部分是KafkaProducer类。KafkaProducer类提供了一个选项,用于将Kafka代理的构造函数与以下方法连接起来。KafkaProducer类提供send...
大数据Kafka费者群组示例 消费者群组是来自Kafka主题的多线程或多机器消费。消费者群组消费者可以通过使用samegroup.id加入一个组。一个组的最大并行度是该组中的消费者的数量 ← 分区的数量。 Kafka将一个主题的分区分配给组中的使用者,以便每个分区仅由组中的一位消费者使用。 Kafka保证只有群组中的单个消费者阅读消息。 消费者可以按照存储在日志中的顺序查看消息。重新平衡消费者添加更多流...
Kafka环境安装配置 以下是在您的机器上安装Java的步骤。第1步 – Java安装查看是否在机器上安装了java环境,只需使用下面的命令来验证它。$ java -version 如果计算机上已成功安装Java,则可以看到已安装的Java版本。例如 –yiibai@ubuntu:~$ java -version java version "1.8.0_65" Java(TM) SE Run...
Kafka工作流 截至目前,我们已经了解了Kafka的核心概念。 现在让我们来看看Kafka的工作流程。Kafka只是分成一个或多个分区的主题集合。 Kafka分区是消息的线性排序序列,每个消息由其索引标识(称为偏移量)。 Kafka集群中的所有数据都是不相关的分区联合。 传入消息写在分区的末尾,消费者依次读取消息。 通过将消息复制到不同的经纪人来提供持久性。Kafka以快速,可靠,持久的容错和零停机方式提...