Spark - 第1章 Spark是什么?


         Apache Spark是一个在集群上运行的统一计算引擎以及一组并行数据处理软件库。

Apache Spark的设计哲学

        关键组件:

  • 统一平台
            为编写大数据应用程序提供统一的平台,Spark通过统一计算引擎和利用一套统一的API,支持广泛的数据分析任务,从简单的数据加载,到SQL查询,再到机器学习和流式计算。原因是真实世界的数据分析任务,需要结合许多不同的处理类型和软件库,Spark为并行数据处理提供统一引擎。
  • 计算引擎
            存算分离,不同Apache Hadoop的存储系统(HDFS)和计算系统(MapReduce)的紧耦合。
  • 配套的软件库
            以Spark核心引擎为中心而形成的软件库,越来越强大,提供越来越多的功能。不仅包含引擎附带的标准库,同时也支持由开源社区以第三方包形式发布的大量外部库,涵盖很多领域。

背景:大数据问题

        单台计算机算力的瓶颈催生了并行CPU计算核心,需要修改老程序以支持并行计算,以便更快运行,这促使了Apache Spark等新编程模型的出现。除此之外,我们现在的世界是一个采集数据非常便宜的世界,但处理它需要大规模的并行计算,通常是在集群上进行。在这个新世界里,过去50年开发的软件无法自动扩展为并行程序,数据处理领域的传统编程模型也无法被自动并行化,因此我们需要一种新的编程模型。

Spark的历史

        了解Hadoop MapReduce新编程模型的优缺点,针对实际中存在的问题和需求(大规模机器学习的多次迭代处理),设计更加通用的计算平台。
        通过设计一个基于函数式编程的API,可以简洁地表达多计算步骤的应用程序。并通过一个新的引擎实现了这个API,该引擎可以跨多个计算步骤执行高效的内存数据共享。解决了Hadoop MapReduce在机器学习算法中每次迭代都必须通过一个MapReduce作业来完成,必须在分布式集群上重新读取全部数据并单独启动一次作业的痛点。
        Spark最强大的功能来自于新的软件库,确保各种库的API具有高度的互操作性,是人们首次可以在同一个引擎中编写多种端到端的大数据应用程序。
        最后,Spark可组合API的核心思想也在不断完善。

Spark的现状和未来

        充满希望。

运行Spark

        本地或者是云,支持很多语言,Saprk本身是用Scala编写。

本地下载Spark

        访问该项目的官方下载页面,直接下载压缩包然后解压缩。

下载Hadoop集群的Spark

        安装的时候看清楚下载的版本是否支持分布式计算(在集群和HDFS上运行)

从源代码构建Spark

启动Spark交互式控制台

        Spark支持几种不同语言的交互式控制台。

启动Python控制台

        在Spark的主目录下运行以下代码。完成之后,输入“spark”并按Enter键。

./bin/pyspark

启动Scala控制台

./bin/spark-shell

启动SQL控制台

./bin/spark-sql
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值