Spark快速大数据分析

[美] Holden Karau [美] Andy Konwinski [美] Patrick Wendell 等
推荐序 近年来大数据逐渐升温,经常有人问起大数据为何重要。我们处在一个数据爆炸的时代,大量涌现的智能手机、平板、可穿戴设备及物联网设备每时每刻都在产生新的数据。当今世界,有 90% 的数据是在过去短短两年内产生的。到 2020 年,将有 500 多亿台的互联设备产生 Zeta 字节级的数据。带来革命性改变的并非海量数据本身,而是我们如何利用这些数据。大数据解决方案的强大在于它们可以快速处理大规模、复杂的数据集,可以比传统方法更快、更好地生成洞见。 一套大数据解决方案通常包含多个重要组件,从存储、计算和网络等硬件层,到数据处理引擎,再到利用改良的统计和计算算法、数据可视化来获得商业洞见的分析层。这中间,数据处理引擎起到了十分重要的作用。毫不夸张地说,数据处理引擎之于大数据就像 CPU 之于计算机,或大脑之于人类。 早在 2009 年,Matei Zaharia 在加州大学伯克利分校的 AMPLab 进行博士研究时创立了 Spark 大数据处理和计算框架。不同于传统的数据处理框架,Spark 基于内存的基本类型(primitive)为一些应用程序带来了 100 倍的性能提升。Spark 允许用户程序将数据加载到集群内存中用于反复查询,非常适用于大数据和机器学习,日益成为最广泛采用的大数据模块之一。包括 Cloudera 和 MapR 在内的大数据发行版也在发布时添加了 Spark。 目前,Spark 正在促使 Hadoop 和大数据生态系统发生演变,以更好地支持端到端的大数据分析需求,例如:Spark 已经超越 Spark 核心,发展到了 Spark streaming、SQL、MLlib、GraphX、SparkR 等模块。学习 Spark 和它的各个内部构件不仅有助于改善大数据处理速度,还能帮助开发者和数据科学家更轻松地创建分析应用。从企业、医疗、交通到零售业,Spark…