作家
登录

什么是 Apache Spark?大数据分析平台如是说

作者: 来源: 2017-11-29 13:39:58 阅读 我要评论

CTO练习营 | 12月3-5日,深圳,是时刻成为优良的技巧治理者了


自负年夜 Apache Spark 2009 年在 U.C. Berkeley 的 AMPLab 默默出生以来,它已经成为这个世界上最重要的分布式大年夜数据框架之一。Spark 可以用多种方法安排,它为 Java、Scala、Python,和 R 编程说话供给了本地绑定,并且支撑 SQL、流数据、机械进修,和图处理。你将会发明它被银行、电信公司、游戏公司、当局,和所有如 Apple、Facebook、IBM,和 Microsoft 等重要的科技巨擘公司应用。

什么是 Apache Spark?大年夜数据分析平台如是说

异常好,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 API 。与 Spark 的加快一样重要的是,人们可能会认为 Spark API 的友爱性更为重要。

须要留意的是 Spark MLLib 只包含了根本的分类、回归、聚类和过滤机械进修算法,并不包含深度学建模和练习的对象(更多内容 InfoWorld’s Spark MLlib review )。供给深度进修管道的工作正在进行中。

Spark Core

与 MapReduce 和其他 Apache Hadoop 组件比拟,Apache Spark API 对开辟人员异常友爱,在简单的办法调用后面隐蔽了分布式处理引擎的大年夜部分复杂性。个一一个典范的例子是几乎要 50 行的 MapReduce 代率攀来统计文档中的单词可以缩减到几行 Apache Spark 实现(下面代码是 Scala 中展示的):

Spark 是经由过程结合驱动法度榜样核心过程以分布式方法运行的,该过程将 Spark 应用法度榜样分化成义务,并将其分发到完成义务典范多履行法度榜样的过程中。这些履行法度榜样可以根据应用法度榜样的须要进行扩大和缩减。

  1. val textFile = sparkSession.sparkContext.textFile(“hdfs:///tmp/words”) 
  2. val counts = textFile.flatMap(line => line.split(“ “)) 
  3.                       .map(word => (word, 1)) 
  4.                       .reduceByKey(_ + _) 
  5. counts.saveAsTextFile(“hdfs:///tmp/words_agg”) 

经由过程供给类似于 Python、R 等数据分析风行说话的绑定,以及加倍对企业友爱的 Java 和 Scala ,Apache Spark 许可应用法度榜样开辟人员和数据科学家以可拜访的方法应用婷采扩大性和速度。

Spark RDD

Spark GraphX

Apache Spark 的核心是弹性分布式数据集(Resilient Distributed Dataset,RDD)的概念,这是一种编程抽象,表示一个可以在计算集群平分别的弗成变对象集合。 RDD 上的操作也可以跨群集瓜分,并以批处理并行方法履行,大年夜而实现快速和可扩大的并行处理。

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

Spark SQL

Spark SQL 最初被称为 Shark,Spark SQL 对于 Apache Spark 项目开端变得越来越重要。它就像如今的开辟人员在开辟应用法度榜样时常用的接口。Spark SQL 专注于构造化数据的处理,借用了 R 和 Python 的数据框架(在 Pandas 中)。不过顾名思义,Spark SQL 在萌芽数据时还兼容了 SQL2003 的接口,将 Apache Spark 的强大年夜功能带给分析师和开辟人员。

除了支撑标准的 SQL 外,Spark SQL 还供给了一个标准接口来读写其他数据存储,包含 JSON,HDFS,Apache Hive,JDBC,Apache Parquet,所有这些都是可以直接应用的。像其他风行的存储对象 —— Apache Cassandra、MongoDB、Apache HBase 和一些其他的可以或许大年夜 Spark Packages 生态体系中提掏出来零丁应用的连接器。

下边这内行单的代码是大年夜数据框架中选择一些字段:

  1. citiesDF.select(“

      推荐阅读

      云计算经济学:弹好可用性、性能与成本这三个键

    其他办事则是在应用时收取费用。例如,可推敲许可用户对持久对象存储履行SQL萌芽并按照萌芽付出费用的供给商。然则,这个办事的成本包含了基于数据拜访数量的单次萌芽扁平成本,以及将萌芽结不雅存回对象存储的成本。>>>详细阅读


    本文标题:什么是 Apache Spark?大数据分析平台如是说

    地址:http://www.17bianji.com/lsqh/39281.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)