实时数据处理和分析指南
上QQ阅读APP看书,第一时间看更新

前言

本书给出了实时大数据计算领域的许多技巧和经验,介绍了Flink、Spark和Storm等流处理框架技术。本书还归纳了一些实用的技术,以帮助读者像使用Hadoop批处理一样的方式实时处理无界流数据。读者可以从如何搭建开发环境开始,逐步实现流处理,然后学会如何利用Rabbit MQ、Kafka和NiFi以及Storm、Spark、Flink和Beam等组件协同应用来解决实际问题。通过学习本书的内容,读者可以对NRT的基本原理及应用有透彻的理解,并能掌握如何将这些基础知识应用到任何适用的实际问题当中。

本书采用“菜谱”(Cookbook)式的写作风格,辅以丰富的实际案例,包括注释清楚的代码示例、相应的图表等。

本书内容概述

第一部分 导言——熟悉实时分析 本部分主要带领读者熟悉实时分析领域,了解它的基础组件和基于此构建的系统,包括如下几章:

●第1章 实时分析简介

●第2章 实时应用的基本组件

第二部分 搭建基础设施 本部分主要讲解如何由基础组件搭建基础设施,包括如下几章:

●第3章 了解和跟踪数据流

●第4章 安装和配置Strom

●第5章 配置Apache Spark和Flink

第三部分 Storm实时计算 本部分主要关注Strom的计算能力和它的各种特性,包括如下几章:

●第6章 集成Storm与数据源

●第7章 从Storm到Sink

●第8章 Storm Trident

第四部分 使用Spark实现实时计算 本部分主要关注Spark的计算能力和它的相关特性,包括如下几章:

●第9章 运用Spark引擎

●第10章 运用Spark操作

●第11章 Spark Streaming

第五部分 使用Flink实现实时分析 本部分主要关注Flink的计算能力和它的相关特性,包括如下一章:

●第12章 运用Apache Flink

第六部分 综合应用 本部分包括如下一章:

●第13章 用例研究

阅读基础

本书旨在引导读者逐步掌握实时流处理技术。在阅读本书之前,读者应具备基本的Java和Scala编程基础,还应熟悉Maven、Java和Eclipse的安装和配置流程,以便运行示例程序。

读者对象

如果读者是Java开发人员,想要安装相关软件并设计一个端到端的实时数据流的实用解决方案,那么本书非常适合作为参考书。掌握实时处理的基本知识是很有帮助的,了解Maven、Shell和Eclipse的基本原理也对读者大有裨益。

本书约定

在本书中,读者会发现许多文本样式,可以据此区分不同种类的信息。下面给出了这些样式的一些例子,并对它们的含义进行了解释。文本中的代码、数据库表名、文件夹名、文件扩展名、路径名、虚拟URL、用户输入和Twitter句柄表示为:“下载kafka_2.11-0.10.1.1.tgz文件后,提取文件。”

代码块设置如下:

cp kafka_2.11-0.10.1.1.tgz/home/ubuntu/demo/kafka
cd/home/ubuntu/demo/kafka
tar-xvf kafka_2.11-0.10.1.1.tgz

新术语和重要单词以粗体显示。读者在截屏图中看到的单词(例如,在菜单或对话框中)在文本中表示为:“为了下载新模块,我们将转到Files | Settings | Project Name | Project Interpreter。”

警告或重要注释的形式如下。

__________________________________


警告内容。

__________________________________


提示和窍门的形式如下。

__________________________________


提示内容。

__________________________________