阿里巴巴高级技术专家章剑锋:大数据发展的 8 个要点
笔者从 2008 年开始工作到现在也有 11 个年头了,一路走来都在和数据打交道,做过大数据底层框架内核的开发(Hadoop,Pig,Tez,Spark,Livy),也做过上层大数据应用开发(写 MapReduce Job 做 ETL ,用 Hive 做 Ad hocquery,用 Tableau 做数据可视化,用 R 做数据分析)。
分布式编程模型的设计与演化
本文主要内容是分布式编程模型设计与演化,具体分为分布式编程模型的背景、MapReduce编程模型、关系型数据编程模型、分布式图计算模型分布式编程未来展望五部分。
Spark计算过程分析
### 基本概念
----------
Spark是一个分布式的内存计算框架,其特点是能处理大规模数据,计算速度快。Spark延续了Hadoop的MapReduce计算模型,相比之下Spark的计算过程保持在内存中,减少了硬盘读写,能够将多个操作进行合并后计算,因此提升了计算速度。同时Spark也提供了更丰富的计算API。
MapReduce是Hadoop和Spark的计算模型,其特点
通过可视化更好的了解你的Spark应用
图的最大价值是它会推动我们去注意到那些我们从未预料到的东西。
– John Tukey
Spark 1.4中对Spark UI进行改进,更加突出可视化的效果。我们来看一下他的主要的改动,主要包含三个方面:
Spark事件的时间线视图
执行的DAG图
Spark Streaming 的可视化
Spark集群管理器介绍
Spark可以运行在各种集群管理器上,并通过集群管理器访问集群中的其他机器。
Spark主要有三种集群管理器,如果只是想让spark运行起来,可以采用spark自带的独立集群管理器,采用独立部署的模式;如果是想让Spark部署在其他集群上,各应用共享集群的话,可以采取两