上QQ阅读APP看书,第一时间看更新
第1章 Spark生态环境
Spark生态环境也称为伯克利数据分析栈,是伯克利大学APMLab实验室打造的产品,通过大规模的系统集成在算法、计算机和人之间建立展现大数据应用的一个平台。目前,基于Spark生态环境的应用已经涉及机器学习、数据挖掘、数据库、信息检索、自然语言处理和语音识别等多个领域。本章的主要内容是学习和理解Spark的生态环境,以及部署虚拟实验环境。
Spark生态环境以Spark Core为核心,从HDFS、Amazon S3和HBase等持久层读取数据,以MESS、YARN和自身携带的Standalone为资源管理器,调度后台任务完成Spark应用程序的计算。这些应用程序可以来自不同的组件,如基于Spark Shell的行命令、基于Spark Submit的批处理、基于Spark Streaming的实时处理应用、Spark SQL的即席查询、MLlib的机器学习、GraphX的图处理等。
Spark支持多种编程语言,从Spark 1.6开始,包括Java、Scala、Python以及R。在本书中对Spark每个功能的讲解,大部分使用Scala语言,并包括语法讲解,有些使用Java和Python语言用于对比和参考。本书使用Docker容器技术部署Spark实验学习环境,其中Spark的当前版本为2.4.5,HBase版本为1.4.0,另外还有Maven和SBT等工具。