0814-基于CDP7.1.3的Spark3.0正式发布
Posted Hadoop实操
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了0814-基于CDP7.1.3的Spark3.0正式发布相关的知识,希望对你有一定的参考价值。
今天Cloudera正式宣布发布CDS3,基于Apache Spark 3.0.1,参考:
https://spark.apache.org/news/spark-3-0-1-released.html
这是一个正式版本,可以生产系统中使用。而且这个版本受Cloudera Support支持。对于Spark3的新特性,可以参考文章《》。
以下是Spark3的关键新特性:
1.Spark3的TPC-DS性能进一步提升;
2.语言支持
a)Scala version is upgraded to 2.12
b)JDK11 is fully supported.
c)Python3.6+ is supported. Python 2 and Python 3 prior to version 3.6 are deprecated
3.Adaptive execution of Spark SQL
a)对于AQE而言,最重要的问题就是什么时候去重新计算优化执行计划。Spark任务的算子如果管道排列,依次并行执行。然而,shuffle或者broadcast exchange会打断算子的排列执行,我们称其为物化点(Materialization Points),并且用"Query Stages"来代表那些被物化点所分割的小片段。每个Query Stage会产出中间结果,当且仅当该stage及其并行的所有stage都执行完成后,下游的Query Stage才能被执行。所以当上游部分stage执行完成,partitions的统计数据也获取到了,并且下游还未开始执行,这就给AQE提供了reoptimization的机会。在查询开始时,生成完了执行计划,AQE框架首先会找到并执行那些不存在上游的stages。一旦这些stage有一个或多个完成,AQE框架就会将其在physical plan中标记为完成,并根据已完成的stages提供的执行数据来更新整个logical plan。基于这些新产出的统计数据,AQE框架会执行optimizer,根据一系列的优化规则来进行优化;AQE框架还会执行生成普通physical plan的optimizer以及自适应执行专属的优化规则,例如分区合并、数据倾斜处理等。于是,我们就获得了最新优化过的执行计划和一些已经执行完成的stages,至此为一次循环。接着我们只需要继续重复上面的步骤,直到整个query都跑完。
4.Dynamic Partition Pruning (DPP)
a)Spark 3.0引入了动态分区裁剪功能,这是SQL分析工作负载的一项重大性能改进。DPP背后的想法是将维度表上的筛选器集直接应用到事实表上,以便跳过扫描不需要的分区。DPP的优化是在逻辑计划优化和物理计划上实现的。它大大增强了许多TPC-DS查询的速度,并且可以很好的适应星型模型,而无需对表进行反范式化(Denormalization)。
5.Binary files data source
a)Spark 3.0支持二进制文件数据源。它可以读取二进制文件,并将每个文件转换为包含文件原始内容和元数据的一行。
6.DataSource V2 Improvements
a)Pluggable catalog integration
b)改进谓词下推功能,可通过减少数据加载来加快查询速度
7.YARN Features
a)Spark 3.0可以自动在YARN集群上发现GPU,并将任务调度到指定的GPU节点。
8.Kafka connector delegation token (0.10+)
a)对应用只需要配置Spark的参数就可以完成认证登录,而不是非需要使用JAAS配置登录。
该试验版本不支持以下组件:
Hive Warehouse Connector
Kudu
HBase Connector
Oozie
Livy
Zeppelin
参考文档:
https://docs.cloudera.com/cdp-private-cloud-base/7.1.3/cds-3/topics/spark-spark-3-overview.html
http://archive.cloudera.com/p/spark3/3.0.7110.0/csd/SPARK3_ON_YARN-3.0.1.3.0.7110.0-81.jar
https://archive.cloudera.com/p/spark3/3.0.7110.0/csd/LIVY_FOR_SPARK3-0.6.0.3.0.7110.0-81.jar
http://archive.cloudera.com/p/spark3/3.0.7110.0/parcels/
更多下载信息可以后台留言了解。
以上是关于0814-基于CDP7.1.3的Spark3.0正式发布的主要内容,如果未能解决你的问题,请参考以下文章
将运行时 7.3LTS(Spark3.0.1) 升级到 9.1LTS(Spark3.1.2) 后创建 PySpark 数据帧 Databricks 时,json 文件中的重复列会引发错误
hivesql 迁移spark3.0 sparksql报错如Cannot safely cast '字段':StringType to IntegerType的问题