介绍Apache火花™3.3砖11.0运行时
今天我们很高兴地宣布的可用性Apache火花™3.3砖的一部分砖11.0运行时。我们想感谢Apache引发社会的价值贡献引发3.3版本。
每月的数量PyPI下载PySpark已迅速增加2100万年API, Python是现在最流行的语言。这代表一个双倍的月度同比增长率PySpark下载在去年。同时,每月Maven下载超过的数量2400万年。火花已成为最广泛使用的可伸缩计算引擎。
继续使火花更加统一的目标,简单,快速,可伸缩,火花3.3扩展其范围具有以下特点:
- 改善连接查询性能通过布鲁姆过滤器高达10倍加速。
- 增加大熊猫API报道与流行的熊猫等特性的支持datetime.timedelta和merge_asof。
- 简化迁移从传统数据仓库通过改善ANSI合规和支持许多新的内置函数。
- 提高开发效率和更好的错误处理,自动完成,性能,和分析。
性能改进
布隆过滤器连接(火星- 32268):火花可以注入和压低布鲁姆过滤器查询计划在适当的时候,在早期为了过滤数据,减少中间数据大小洗牌和计算。布鲁姆过滤器是行级运行时过滤器设计补充动态分区修剪(民进党)和动态文件修剪(DFP)的情况下动态文件不适用或不够彻底。如以下图所示,我们在三个不同的跑TPC-DS基准变化的数据来源:三角洲湖没有调优,三角洲湖与调优,和生拼花文件,并观察~ 10 x加速通过启用这个布隆过滤器的功能。性能改进的比率更大的情况下缺乏存储调优或准确的统计信息,如三角洲湖数据源之前调优或生拼花基于文件的数据源。在这些情况下,布鲁姆过滤器使查询性能更健壮不管存储/统计调优。
查询执行改进:一些自适应查询执行(AQE)改进降落在这个版本:
舞台codegen覆盖率进一步改善在多个领域,包括:
- 完全外排序合并连接(火星- 3535220% ~ 30%加速)
- 完全外洗好的散列连接(火星- 3256710% ~ 20%加速)
- 存在排序合并连接(火星- 37316)
- 总没有分组关键字(火星- 37564)
拼花复杂数据类型(火星- 34863):这种改进增加了支持火花的矢量化铺阅读器等复杂类型列表,地图,和数组。作为微型基准测试中显示,火花得到平均~ 15倍的性能提升扫描结构体字段时,阅读阵列时~ 1.5 x组成结构和地图类型的元素。
规模的熊猫
优化默认指数:在本版本中,火花在熊猫API (火星- 37649),我们将默认索引从‘序列’‘distributed-sequence’,后者在哪里适合优化催化剂优化器。与熊猫API的默认索引扫描数据引发了快2倍i3的基准。超大5节点集群。
熊猫API报道:
PySpark现在本地了解datetime.timedelta(火星- 37275,火星- 37525)火花SQL API和熊猫火花。现在这个Python类型映射到日期-时间间隔在火花SQL类型。同时,许多失踪的参数和新的API功能现在支持大熊猫API这个版本的火花。例子包括端点ps.merge_asof (火星- 36813),ps.timedelta_range (火星- 37673)和ps.to_timedelta (火星- 37701)。
简化迁移
ANSI增强:这个版本完成的支持ANSI间隔数据类型(火星- 27790)。现在我们可以从/读/写区间值表,并使用间隔在许多日期/时间的算术函数/运算符,包括聚合和比较。隐式铸造在ANSI模式现在支持安全的强制转换类型之间,同时防止数据丢失。越来越多的图书馆“尝试”功能,如“try_add”和“try_multiply”,补充ANSI模式允许用户接受ANSI的安全模式规则,同时仍然允许容错查询。
内置函数:除了try_ *函数(火星- 35161),这个新版本现在包括9个新的线性回归函数和统计功能,四个新字符串处理功能,aes_encryption和解密函数,广义地板和天花板功能,“to_number”格式,和许多其他人。
提高生产力
错误消息的改进:这个版本开始一段旅程中用户观察引入显式错误类像“DIVIDE_BY_ZERO。”These make it easier to search online for more context about errors, including in the formal文档。
对于许多运行时错误火花现在返回错误发生的具体环境,如指定嵌套视图中的行号和列号的身体。
分析器Python /熊猫udf(火星- 37443):这个版本引入了一个新的Python /熊猫udf分析器,它提供了确定性分析的udf有用的统计数据。下面是一个例子通过运行PySpark新的基础设施:
更好地与类型提示内联完成自动完成(火星- 39370):
所有类型提示从存根文件迁移到内联类型提示在此版本中为了使更好的自动完成。例如,显示的类型参数可以帮助提供有用的上下文。
在这篇文章中,我们总结的一些高级特性,改善Apache 3.3.0火花。请留意即将到来的帖子,深入研究这些特性。主要功能的综合列表所有组件和火花JIRA票解决,请访问Apache 3.3.0火花发布说明。
今天开始使用火花3.3
尝试Apache 3.3火花砖11.0运行时,请报名参加砖Community Edition或砖的试验,这两个是免费的,并在几分钟内开始。使用火花3.3非常简单,只需选择版本“11.0”时启动集群。