• 首页 > 新兴 > 产业新闻>正文
  • 什么是 Apache Spark?大数据分析平台如是说

  • 责任编辑:kasa11 来源: 36大数据 2017-11-28 18:45:14
  • 大数据

      作者: Ian Pointer

      自从 Apache SpARk 2009 年在 U.C. Berkeley 的 AMPLab 默默诞生以来,它已经成为这个世界上最重要的分布式大数据框架之一。SpARk 可以用多种方式部署,它为 Java、Scala、Python,和 R 编程语言提供了本地绑定,并且支持 SQL、流数据、机器学习,和图处理。你将会发现它被银行、电信公司、游戏公司、政府,和所有如 Apple、Facebook、IBM,和 Microsoft 等主要的科技巨头公司使用。

      非常好,SpARk 可以运行在一个只需要在你集群中的每台机器上安装 Apache SpARk 框架和 JVM 的独立集群模式。然而,你将更有可能做的是,希望利用资源或集群管理系统来帮你按需分配工作。 在企业中,这通常意味着在 Hadoop YARN (这是  Cloudera 和 Hortonworks 分配运行 SpARk 任务的方式 )上运行。尽管 work 是在增加了本地支持的 Kubernetes 上执行,但是 Apache SpARk 也可以在 Apache Mesos 上运行。

      如果你追求一个有管理的解决方案,那么可以发现 Apache SpARk 已作为 Amazon EMR、Google Cloud Dataproc, 和 Microsoft Azure HDInsight 的一部分。雇佣了 Apache SpARk 创始人的公司 Databricks 也提供了 Databricks 统一分析平台,这个平台是一个提供了 Apache SpARk 集群,流式支持,集成了基于 Web 的笔记本开发,和在标准的 Apache SpARk 分布上优化了云的 I/O 性能的综合管理服务。

      值得一提的是,拿 Apache SpARk 和 Apache Hadoop 比是有点不恰当的。目前,在大多数 Hadoop 发行版中都包含 SpARk 。但是由于以下两大优势,SpARk 在处理大数据时已经成为首选框架,超越了使 Hadoop 腾飞的旧 MapReduce 范式。

      第一个优势是速度。SpARk 的内存内数据引擎意味着在某些情况下,它执行任务的速度比 MapReduce 快一百倍,特别是与需要将状态写回到磁盘之间的多级作业相比时更是如此。即使 Apache SpARk 的作业数据不能完全包含在内存中,它往往比 MapReduce 的速度快10倍左右。

      第二个优势是对开发人员友好的 SpARk API 。与 SpARk 的加速一样重要的是,人们可能会认为 SpARk API 的友好性更为重要。

      SpARk Core

      与 MapReduce 和其他 Apache Hadoop 组件相比,Apache SpARk API 对开发人员非常友好,在简单的方法调用后面隐藏了分布式处理引擎的大部分复杂性。其中一个典型的例子是几乎要 50 行的 MapReduce 代码来统计文档中的单词可以缩减到几行 Apache SpARk 实现(下面代码是 Scala 中展示的):

      val textFile = spARkSession.spARkContext.textFile(“hdfs:///tmp/words”)

      val counts = textFile.flatMap(line => line.split(“ “))

      .map(word => (word, 1))

      .reduceByKey(_ + _)

      counts.saveAsTextFile(“hdfs:///tmp/words_agg”)

      通过提供类似于 Python、R 等数据分析流行语言的绑定,以及更加对企业友好的 Java 和 Scala ,Apache SpARk 允许应用程序开发人员和数据科学家以可访问的方式利用其可扩展性和速度。

      SpARk RDD

      Apache SpARk 的核心是弹性分布式数据集(Resilient Distributed Dataset,RDD)的概念,这是一种编程抽象,表示一个可以在计算集群中分离的不可变对象集合。 RDD 上的操作也可以跨群集分割,并以批处理并行方式执行,从而实现快速和可扩展的并行处理。

      RDD 可以通过简单的文本文件、SQL 数据库、NoSQL 存储(如 Cassandra 和 MongoDB )、Amazon S3 存储桶等等创建。SpARk Core API 的大部分是构建于 RDD 概念之上,支持传统的映射和缩减功能,还为连接数据集、过滤、采样和聚合提供了内置的支持。

      SpARk 是通过结合驱动程序核心进程以分布式方式运行的,该进程将 SpARk 应用程序分解成任务,并将其分发到完成任务的许多执行程序的进程中。这些执行程序可以根据应用程序的需要进行扩展和缩减。

      SpARk SQL

      SpARk SQL 最初被称为 ShARk,SpARk SQL 对于 Apache SpARk 项目开始变得越来越重要。它就像现在的开发人员在开发应用程序时常用的接口。SpARk SQL 专注于结构化数据的处理,借用了 R 和 Python 的数据框架(在 Pandas 中)。不过顾名思义,SpARk SQL 在查询数据时还兼容了 SQL2003 的接口,将 Apache SpARk 的强大功能带给分析师和开发人员。

     1/3    1 2 3 下一页 尾页

    猜你喜欢

    无相关信息
  • 只能把YouTube当主场的波士顿动力,究竟为何被隔绝
  • 什么是 Apache Spark?大数据分析平台如是说
  • 苹果CEO库克:Mac mini将会成为最重要的产品线组成,
  • WP手机落幕!微软:Win10 Mobile已不再是重点
  • 外媒看衰Surface部门:微软回应还要接着干
  • 郭明池:安卓厂商会跟风苹果玩面部识别
  • 荣耀全面屏新机7X跑分流出:麒麟659+双摄像头
  • 谷歌批微软偏心Win10置Win7于安全风险中
  • 主编推荐 ...
  • 网易云信:世界杯媒体战升级,音视频技术领衔...

  • 不羡慕凌晨四点的哈佛图书馆,智慧学习从每一节课开始...

  • 汇立冰泉荣获“中国健康饮水匠心品牌”荣誉...

  • 最新人物 ...
    滚动新闻 ...
    新闻排行 ...
    关于我们 | 科技狗简介 | 法律声明 | 广告刊例 | 联系我们
    科技狗     E-mail: news@cbmag.cn  律师团队:北京正大律师事务所  联系QQ:489498777
    (C)版权所有 科技狗     京ICP备13034703号-3