Spark是一个开源的通用并行分布式计算框架,由加州大学伯克利分校的AMP实验室开发,支持内存计算、多迭代批量处理、即席查询、流处理和图计算等多种范式。Spark内存计算框架适合各种迭代算法和交互式数据分析,能够提升大数据处理的实时性和准确性,现已逐渐获得很多企业的支持,如阿里巴巴、百度、网易、英特尔等公司。
《Spark快速数据处理》系统讲解Spark的使用方法,包括如何在多种机器上安装Spark,如何配置一个Spark集群,如何在交互模式下运行第一个Spark作业,如何在Spark集群上构建一个生产级的脱机/独立作业,如何与Spark集群建立连接和使用SparkContext,如何创建和保存RDD(弹性分布式数据集),如何用Spark分布式处理数据,如何设置Shark,将Hive查询集成到你的Spark作业中来,如何测试Spark作业,以及如何提升Spark任务的性能。
目录
- 译者序
- 作者简介
- 前言
- 第1章安装Spark以及构建Spark集群 / 1
- 1.1单机运行Spark / 4
- 1.2在EC2上运行Spark / 5
- 1.3在ElasticMapReduce上部署Spark / 11
- 1.4用Chef(opscode)部署Spark / 12
- 1.5在Mesos上部署Spark / 14
- 1.6在Yarn上部署Spark / 15
- 1.7通过SSH部署集群 / 16
- 1.8链接和参考 / 21
- 1.9小结 / 21
- 第2章Spark shell的使用 / 23
- 2.1加载一个简单的text文件 / 24
- 2.2用Spark shell运行逻辑回归 / 26
- 2.3交互式地从S3加载数据 / 28
- 2.4小结 / 30
- 第3章构建并运行Spark应用 / 31
- 3.1用sbt构建Spark作业 / 32
- 3.2用Maven构建Spark作业 / 36
- 3.3用其他工具构建Spark作业 / 39
- 3.4小结 / 39
- 第4章创建SparkContext / 41
- 4.1Scala / 43
- 4.2Java / 43
- 4.3Java和Scala共享的API / 44
- 4.4Python / 45
- 4.5链接和参考 / 45
- 4.6小结 / 46
- 第5章加载与保存数据 / 47
- 5.1RDD / 48
- 5.2加载数据到RDD中 / 49
- 5.3保存数据 / 54
- 5.4连接和参考 / 55
- 5.5小结 / 55
- 第6章操作RDD / 57
- 6.1用Scala和Java操作RDD / 58
- 6.2用Python操作RDD / 79
- 6.3链接和参考 / 83
- 6.4小结 / 84
- 第7章Shark-Hive和Spark的综合运用 / 85
- 7.1为什么用Hive/Shark / 86
- 7.2安装Shark / 86
- 7.3运行Shark / 88
- 7.4加载数据 / 88
- 7.5在Spark程序中运行HiveQL查询 / 89
- 7.6链接和参考 / 92
- 7.7小结 / 93
- 第8章测试 / 95
- 8.1用Java和Scala测试 / 96
- 8.2用Python测试 / 103
- 8.3链接和参考 / 104
- 8.4小结 / 105
- 第9章技巧和窍门 / 107
- 9.1日志位置 / 108
- 9.2并发限制 / 108
- 9.3内存使用与垃圾回收 / 109
- 9.4序列化 / 110
- 9.5IDE集成环境 / 111
- 9.6Spark与其他语言 / 112
- 9.7安全提示 / 113
- 9.8邮件列表 / 113
- 9.9链接和参考 / 113
-
9.10小结 / 114