书籍内容
本书重点关注Spark项目的基本知识,从Spark核心开始,然后拓展到各种Spark扩展、Spark相关项目、Spark子项目,以及Spark所处的丰富的生态系统里各种别的开源技术,比如Hadoop、Kafka、Cassandra等。
前言/序言
Spark在这场由大数据与开源软件掀起的颠覆性革命中处于核心位置。不论是尝试Spark的意向还是实际用例的数量都在以几何级数增长,而且毫无衰退的迹象。本书将手把手引导你在大数据分析领域中收获事业上的成功。 本书重点 本书重点关注Spark项目的基本知识,从Spark核心开始,然后拓展到各种Spark扩展、Spark相关项目及子项目,以及Spark所处的丰富的生态系统里各种别的开源技术,比如Hadoop、Kafka、Cassandra等。 尽管对于本书所介绍的Spark基本概念(包括运行环境、集群架构、应用架构等)的理解是与编程语言无关且透明的,本书中大多数示例程序和练习是用Python实现的。Spark的Python API(PySpark)为数据分析师、数据工程师、数据科学家等提供了易用的编程环境,让开发者能在获得Python语言的灵活性和可扩展性的同时,获得Spark的分布式处理能力和伸缩性。 本书所涉及的范围非常广泛,涵盖了从基本的Spark 核心编程到Spark SQL、Spark Streaming、机器学习等方方面面的内容。本书对于每个主题都给出了良好的介绍和概览,足以让你以Spark项目为基础构建出针对任何特定领域或学科的平台。 目标读者 本书是为有志进入大数据领域或是已经入门想要进一步巩固大数据领域知识的数据分析师和工程师而写的。当前市场对于具备大数据技能、懂得大数据领域优秀处理框架Spark的工程师的需求特别大。本书的目标是针对这一不断增长的雇佣市场需求培训读者,使得读者获得雇主亟需的技能。 对于阅读本书来说,有Python使用经验是有帮助的,没有的话也没关系,毕竟Python对于任何有编程经验的人来说都非常直观易懂。读者最好对数据分析和数据处理有一定了解。这本书尤其适合有兴趣进入大数据领域的数据仓库技术人员阅读。 如何使用本书 本书分为两大部分共8章。第一部分“Spark基础”包括4章,会让读者深刻理解Spark是什么,如何部署Spark,如何使用Spark进行基本的数据处理操作。 第1章提供了大数据生态圈的概览,包括Spark项目的起源和演进过程。本章讨论了Spark项目的关键属性,包括Spark是什么,用起来如何,以及Spark与Hadoop项目之间的关系。 第2章展示了如何部署一个Spark集群,包括Spark集群的各种部署模式,以及调用Spark的各种方法。 第3章讨论Spark集群和应用是如何运作的,让读者深刻理解Spark是如何工作的。 第4章关注使用弹性分布式数据集(RDD)进行Spark初级编程的基础。 第二部分“基础拓展”包括后四章的内容,扩展到Spark的核心模块以外,包括SQL和NoSQL系统、流处理应用、数据科学与机器学习中Spark的使用: 第5章讲解了用来扩展、加速和优化常规Spark例程的高级元件,包括各种共享变量和RDD存储,以及分区的概念及其实现。 第6章讨论Spark与广袤的SQL土壤的整合,还有Spark与非关系型存储的整合。 第7章介绍了Spark的Streaming子项目,以及Streaming中最基本的DStream对象。本章还涵盖了Spark对于Apache Kafka这样的常用消息系统的使用。 第8章介绍了使用R语言使用Spark建立预测模型,以及Spark中用来实现机器学习的子项目MLlib。 本书代码 本书中各个练习的示例数据和源代码可以从http://sparkusingpython.com下载。你也可以从https://github.com/sparktraining/spark_using_python查看或者下载本书的GitHub代码仓库。