0
点赞
收藏
分享

微信扫一扫

《Spark -- The Definitive Guide》学习笔记Note.1

兮城 2022-02-21 阅读 78



Part 1.Gentle Overview of Big Data and Spark

Charpter 1.What Is Apache Spark

  好家伙,开篇上来就一灵魂拷问,何为Apache Spark?简而言之,Spark是运行在集群上的开源大数据处理引擎,同时包括一系列可以并行处理数据的软件库(SQL,流处理,机器学习等)。受众是对大数据感兴趣的开发人员和数据科学家。它支持多种语言(Python, Java, Scala和R),可以在本地单机,或大规模服务器集群上运行,着实牛逼。

  原书有这么一副Spark的toolkit导图,可以看出,其底层是由基础API构建,以及API中的RDD和分布式变量,位于图层中部的是包含有数据集,DF,SQL的结构化API,这些模块,最终都将服务于上层流处理,高级数据分析,及生态系统内的各种软件库。

Apache Spark’s Philosophy

  Spark的设计哲学,这小标题直接将段落逼格高高拉起。段落对Spark的关键组件进行了细分,它们依次是Unified(统一平台),Compute engine(计算引擎),Libraries(配套软件库)。
  统一平台:由于Spark的设计初衷是为编写大数据应用程序提供一个统一平台(划重点,统一 ),统一的要义在于,Spark的计算引擎和API都是统一的,该设计理念的幕后黑手是,现实世界的数据分析任务中,结合了各种不同的处理类型和软件库。统一的好处是能更标准,更高效地支持广泛的数据分析任务,从数据加载,到SQL查询,再到机器学习,流式计算等。开发者都能用Spark提供的一致且可组合的API,代码块,软件库来构建应用程序,而后,再将不同库和函数进行组合,达到程序优化,高性能实现的目的。在Spark之前,没有任何开源系统为并行处理数据提供统一引擎,因此, Spark这种解脱了用户去拼凑多套API和系统来开发应用程序的平台,就迎来了迅猛发展。

  计算引擎:Spark从存储系统中加载数据,而后对其执行计算,值得注意的是,Spark本身不负责持久化数据,它主要专注于数据计算,但它兼容多种存储系统,因此可以将持久化存储系统与Spark结合使用。

  软件库:Spark提供统一标准库,也支持开源社区中的许多第三方外部库。如今的Spark标准库,已成为一系列开源项目的集成,它的核心引擎自创始之日起其实基本不变,反倒是配套软件库日益强大。

Context:The Big Data Problem

  促使数据分析计算引擎发展的主要原因,是大数据问题。在相当长的一段时间里,CPU运行速度都保持逐年增长,应用程序也因此变得更快。可随着时间推移,应用程序需要处理更庞大的数据量,且硬盘散热也遇到瓶颈,硬件开发者们便在2005年左右,改变了提升单核能力的思路,转为开始研究并行计算。这一改变的直接结果,就是使得应用程序也要支持并行计算,这样才能更快运行。同时,从2005年起,数据存储和数据采集技术仍在飞速发展。它们的成本不断下调,使得我们的世界逐步演化成一个数据廉价的世界。想要处理好这些大规模数据,我们需要一种新的编程模型框架,使得程序并行化,计算并行化,Spark就是在这种新形势下应运而生。

Running Spark

  Spark本身是用Scala编写的,它运行于JVM,若想在PC或集群上运行Spark,需要事先装好Java。同时,因为Spark支持Python, Java, Scala, R,SQL等语言的缘故,用户也需要装好对应前置依赖,以使用Python API为例,用户需要先安装好Python2.7及以上版本。这里提供了两种使用Spark的方法,它们分别是在个人电脑运行Spark,以及在Databricks Community Edition上运行基于Web的版本。

Downloading Spark Locally
  1. 首先,我们在本地先装好Java。
  1. 建议从Spark官方网址(http://spark.apache.org/downloads.html)拉取Spark。
  1. 下载完毕并解压后,可以看到如下目录,不慌,之后的博文会对目录内容进行详细介绍。
Launching Spark’s Interactive Consoles

  Spark支持交互式控制台的语言包括Python,Scala,SQL等。

  下面对HADOOP安装步骤做一个梳理:
  1、下载并解压与Spark版本相对应的HADOOP客户端;
  2、安装JDK,并配置JAVA_HOME;
  3、检查的bin目录下是否有hadoop.dll,及winutils.exe,没有可以到gitee进行下载,
    https://gitee.com/mirrors_cdarlint/winutils?_from=gitee_search;
  4、依次配置HADOOP_HOME的系统变量,并添加至Path用户变量;
  5、配置HADOOP。

Launching the Scala Consoles
Launching the Python Consoles
Launching the SQL Consoles

举报

相关推荐

0 条评论