分布式实时计算框架原理及实践案例PDF电子书下载|百度网盘下载

编辑评论:

分布式实时计算框架原理及实践案例 希望读者通过阅读本书,对分布式实时计算系统的设计原理和相关实现技术有更清晰的认识.它使众多中小企业能够快速搭建自己的分布式实时计算平台,同时为国内分布式处理技术做出贡献。

分布式实时计算框架原理及实践案例PDF电子书下载

简介

“授人以渔不如授人以渔”。这本书是作者带着这个初衷写的。主要参考当前主流分布式实时计算框架Storm的任务分发和Spark Streaming的Mini-Batch设计思想,以及底层实现技术,开源作者自研的轻量级分布式实时-时间计算框架-Light drte,重点介绍设计思路和相关实现技术(Katka/RabbitMQ、Redis/SSDB、GuavaCache、MongoDB、HBase、ES/Solr、Thrift、Avro、Jetty),最后介绍一个完整的个性化推荐系统从工程的角度,并举例介绍light drtc在用户画像实时更新中的应用。这本书的描述很容易理解。希望读者能理解分布式实时计算的实现原理,快速上手

解决实际问题。

本书适合的读者包括:从事软件开发的大专院校师生、中高级工程师、架构师和技术管理人员。

编辑推荐

适合读者:本书适合读者包括:高校师生和企业从事分布式计算的高级工程师、架构师和技术经理。

挖掘海量用户行为数据,如用户浏览、收藏、分享、购买、评论、点赞、搜索等。

快速有效地利用用户兴趣点大数据挖掘用户对产品的兴趣点,实时更新用户画像

推荐用户当前感兴趣的产品和广告

用计算把数据和流量变成财富,真正发挥数据资产的巨大价值。

互联网行业数据变现利器!

什么是 Spark 流

Apache Spark 是由加州大学伯克利分校的 AMPLabs 开发的开源分布式轻量级通用计算框架。 Spark 是基于 Hadoop 构建的类似于 MapReduce 的分布式计算框架。它的核心是弹性分布式数据集(RDD),它提供了比 MapReduce 更丰富的模型,可以对内存中的数据集进行多次快速的操作。迭代支持复杂的数据挖掘算法和图计算算法。

Spark Streaming 是 Spark 核心 API 的扩展,可以实现高吞吐量、容错的实时流数据处理。其原理是将Stream数据流按照滑动时间窗划分成时间间隔很小(比如几秒)的独立数据集,也就是离散化并转化为单个数据集(RDD),然后进行处理这些是分批的。小型 RDD Spark Streaming 的数据源主要有两种:外部文件系统,如 HDFS,Streaming 可以监控目录中新生成的数据并及时处理。如果出现故障,可以通过重新读取数据来恢复,绝对不会丢失数据;网络系统:如 MQ 系统(Kafka、ZeroMQ。

水槽等)。

默认情况下,Spark Streaming 会将数据加载到两个不同节点的内存中。如果一个节点发生故障,系统可以通过另一个节点进行数据重新计算。假设运行 InputReceiver 的节点出现故障,可能会丢失一些数据。

内部核心运营

Spark 支持两种类型的操作:Transformation 和 Action。变换是从一个已知的 RDD 数据集转换得到一个新的 RDD 数据集。这些Transformation操作包括map.filter、flatMap、union、join等,并且Transformation具有惰性特性,调用这些操作不会立即对已知RDD数据集进行计算操作,而只是调用

另一种类型的Action只会在操作后执行。 Action会实际对RDD数据集进行操作,返回一个计算结果给Driver程序,或者不返回结果,比如把计算结果数据放入

行持久化,Action操作包括reduceByKey、count、foreach、collect等。

同样,Spark Streaming 提供了两种类似于 Spark 的操作,分别是

Transformation 和 Output 操作,它们的操作对象是 DStreams,它们的功能类似于 Spark。 Transformation从一个已知的DStream转换后得到一个新的DStream,Spark Streaming也为Window增加了额外的一类操作,当然也是一个Transformation,但是可以更灵活的控制DStream的大小(时间间隔大小,个数数据元素),例如

window(windowLength, slideInterval), countByWindow(windowLength, slideInterval)。

reduceBy Window(func, windowLength, slideInterval) 等。Spark Streaming 的输出操作允许我们将 DStream 数据输出到外部存储系统,例如数据库或文件系统

等,执行Output操作类似于执行Spark的Action操作,这样操作前的惰性Transformation操作序列就可以真正执行。

阅读剩余
THE END