pythonspark教程菜鸟教程_ApacheSpark最新版3.0发布Apache Spark 介绍
概念:Apache Spark是⽤于⼤规模数据处理的统⼀分析引擎。它提供Java,Scala,Python和R中的⾼级API,以及⽀持常规执⾏图的优化引擎。它还⽀持⼀组丰富的更⾼级别的⼯具,包括 Spark SQL⽤于SQL和结构化数据的处理,MLlib 机器学习,GraphX ⽤于图形处理,以及结构化流的增量计算和流处理。
Apache Spark是⼀个分布式计算平台,在当今⾮常流⾏,特别是因为与Hadoop mapreduce相⽐性能要好得多,Spark⽐基于磁盘的hadoop mapreduce 快了近100倍。简单来说,Spark是⼀种⾯向对象、函数式编程语⾔。Spark能够像操作本地集合对象⼀样轻松地操作分布式数据集。它具有运⾏速度快、易⽤性好、通⽤性强和随处运⾏等特点。
特性:
更快的速度:内存中计算, ⽐ Hadoop 快100倍。
易⽤性:Spark 提供了80多个⾼级运算符。
通⽤性:Spark 提供了⼤量的库,包括SQL、DataFrames、MLlib、GraphX、Spark Streaming。 开发者可以在同⼀个应⽤程序中⽆缝组合使⽤这些库。
⽀持多种资源管理器:Spark ⽀持 Hadoop YARN,Apache Mesos,及其⾃带的独⽴集管理器
Spark是⽤于⼤规模数据处理的统⼀分析引擎。
Spark是基于内存计算的⼤数据并⾏计算框架。
Apache Spark 历史及由来
由来:Spark是⼀个开源的类似于Hadoop MapReduce的通⽤的并⾏计算框架。它基于MapReduce算法实现的分布式计算,拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是Spark中的Job中间输出和结果可以保存在内存中,从⽽不再需要读写HDFS,因此Spark能更好地适⽤于数据挖掘与机器学习等需要迭代的map reduce的算法。
历史:
2009年诞⽣于加州⼤学伯克利分校AMPLab
2010年开源
2013年6⽉成为Apache孵化项⽬
2014年2⽉成为Apache顶级项⽬
⽬前,Spark⽣态系统已经发展成为⼀个包含多个⼦项⽬的集合,其中包含SparkSQL、Spark Streaming、GraphX、MLlib等⼦项⽬
待续...
Apache Spark 最新版说明
Databricks 上周发布了 Apache Spark 3.0,并将此作为新版 Databricks Runtime 7.0 的⼀部分。3.0.0 版本包含 3400 多个补丁,为Python 和 SQL 功能带来了重⼤进展。
Spark 是⽤于⼤数据处理,数据科学,机器学习和数据分析等领域的统⼀引擎。
Spark 3.0 重要变化:
与 Spark 2.4 相⽐,TPC-DS 的性能提升了2倍,主要通过⾃适应查询执⾏、动态分区修剪和其他优化实现
兼容 ANSI SQL
针对 pandas API 的重⼤改进,包括 Python 类型提⽰和额外的 pandas UDF
改进 Python 错误处理,简化 PySpark 异常提醒
为结构化流(structured streaming)提供新 UI
调⽤ R 语⾔⾃⽤户定义函数(User-Defined Function)的速度可提⾼ 40 倍
解决了 Jira 上 3400 多个 issue,这些 issue 的分布情况如下图所⽰
改进 Spark SQL 引擎
Spark SQL 是⽀持⼤多数 Spark 应⽤程序的引擎。在 Spark 3.0 中,46% 的补丁被应⽤于 SQL,提升了性能和 ANSI 兼容性。如下图所⽰,Spark 3.0 的性能⼤约是 Spark 2.4 的 2 倍。
下⾯看看 Spark SQL 引擎中的主要新功能。
1、⾃适应查询执⾏(Adaptive Query Execution)
新的⾃适应查询执⾏(AQE) 框架通过在运⾏时⽣成更好的执⾏计划来提⾼性能并简化调整,即使由于缺少或使⽤不正确的数据统计信息和错误估计的成本⽽致使初始计划不理想时,也是如此。此版本引
⼊了三个主要的⾃适应优化:动态合并 shuffle 分区可简化甚⾄避免调整shuffle 分区的数量、动态切换连接策略部分避免了由于缺少统计信息或错误估计⼤⼩⽽导致执⾏次计划的情况,以及动态优化倾斜连接(optimizing skew joins )。
2、动态分区修剪 (Dynamic Partition Pruning)
python菜鸟教程文档当优化器⽆法在编译时识别其可以跳过的分区,将会应⽤“动态分区修剪”功能。这在星型模式中很常见,星型模式由⼀个或多个事实表组成,这些事实表引⽤了任意数量的维度表。在执⾏这种联接操作中,我们可以通过识别维度表过滤之后的分区来修剪联接从事实表中读取的分区。在 TPC-DS 基准测试中,102 个查询中有 60 个查询获得 2 到 18 倍的显着加速。
Spark 3.0 中的其他更新
Spark 3.0 除了在 SQL,Python 和流技术⽅⾯包含部分关键改进,还提供了许多其他的新功能。详情查看发布说明,发现对 Spark 的所有其他改进,包括数据源、⽣态系统和监视等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论