InfoQSpark 3.0开发近两年终于发布,流、Python、SQL重大更新详解( 二 )
在一个 3TB 的 TPC-DS 基准测试中 , 与没有 AQE 的 Spark 相比 , 有 AQE 的 Spark 将两个查询的性能提升了 1.5 倍以上 , 另外 37 个查询的性能提升了 1.1 倍以上 。
本文插图
当优化器无法在编译时识别可跳过的分区 , 可以使用“动态分区修剪” , 这在星型模型中很常见(星型模型由一个或多个事实表组成 , 这些事实表引用了任意数量的维度表) 。 在执行这种连接操作时 , 我们可以通过识别维度表过滤之后的分区来修剪从事实表读取的分区 。 在一个 TPC-DS 基准测试中 , 102 个查询中有 60 个查询获得 2 到 18 倍的速度提升 。
本文插图
ANSI SQL 兼容性对于将工作负载从其他 SQL 引擎迁移到 Spark SQL 来说至关重要 。 为了提升兼容性 , 新版本使用了 Proleptic Gregorian 日历 , 用户可以禁止使用 ANSI SQL 保留关键字作为标识符 。 此外 , 新版本针对数字类型的操作中引入了运行时溢出检查 , 并强制执行编译时类型检查 。 这些新的验证机制提高了数据质量 。
连接提示:尽管 Databricks 一直在改进编译器 , 但还是不能保证编译器可以在任何时候做出最佳决策——连接算法的选择基于统计信息和启发式 。 当编译器无法做出最佳选择时 , 用户可以使用连接提示来影响优化器 , 让它选择更好的执行计划 。 新版本加入了新的提示:SHUFFLE_MERGE、SHUFFLE_HASH 和 SHUFFLE_REPLICATE_NL 。
增强的 Python API:PySpark 和 Koalas Python 现在是 Spark 中使用最为广泛的编程语言 , 所以也是 Spark 3.0 的重点关注领域 。 Databricks 有 68%的 NoteBook 命令是用 Python 写的 。 PySpark 在 PyPI 上的月下载量超过 500 万 。
本文插图
很多 Python 开发人员在数据结构和数据分析方面使用了 Pandas API , 但仅限于单节点处理 。 Databricks 会继续开发 Koalas(一种基于 Apache Spark 的 Pandas API 实现) , 让数据科学家能够在分布式环境中更高效地处理大数据 。 借助 Koalas , 数据科学家们就不需要构建很多函数(例如绘图支持) , 在整个群集中获得更高的性能 。
经过一年多的开发 , Koalas 实现了将近 80% 的 Pandas API 。 Koalas 在 PyPI 上的月下载量已迅速增长到 85 万 , 并以每两周发布一次的节奏快速演进 。 除了 Koalas , 很多人仍在使用 PySpark API , 该 API 也越来越受欢迎 。
本文插图
Spark 3.0 对 PySpark API 做了一些增强:
- 带有类型提示的新 Pandas API:Spark 2.3 最初引入了 Pandas UDF , 并将 Pandas API 集成到 PySpark 应用程序中 。 但是 , 随着 UDF 类型的增多 , 现有接口就变得难以理解 。 新版本引入了一个新的 Pandas UDF 接口 , 利用 Python 的类型提示来解决 Pandas UDF 类型泛滥的问题 。 新接口变得更具 Python 风格和自我描述性 。
- 新的 Pandas UDF 类型和 Pandas 函数 API:新版本增加了两种新的 Pandas UDF 类型 , 即系列迭代器到系列迭代器和多个系列迭代器到系列迭代器 。 这对于数据预取和昂贵的初始化操作来说很有用 。 此外 , 新版本还添加了两个新的 Pandas 函数 API , 即 map 和 co-grouped map 。 更多详细信息请参见 这里 。
- 更好的错误处理:PySpark 的错误处理对于 Python 用户来说并不友好 。 新版本简化了 PySpark 异常 , 隐藏了不必要的 JVM 堆栈跟踪 , 并更具 Python 风格 。
- 中国网|中国发布丨国际海事组织向全球分享《船舶船员新冠肺炎疫情防控操作指南(V3.0)》
- 光学|奥普光电:Caf2光学晶体可根据实际需求进行二次开发用于光刻机的光学系统中
- 在攀枝花开发建设纪念馆忆往昔
- 大白话财财|涉案近8千万,CSO遭严打,上市药企虚开发票超900张
- 红色警戒|《红色警戒》尤里被玩坏的作战单位,开发者也没想到能这么玩吧
- 21世纪经济报道|北京健康宝“闪崩”新版3.0版不稳定?
- 原平之声|中国地质大学专家组赴原平市调研地热资源开发并召开座谈会
- 直观视界松下向华为抛橄榄枝,欲跟华为共同开发芯片
- 简单观察|浦江开发区打造科创人才集聚新平台
- 小礼游戏|《红色警戒》尤里被玩坏的作战单位,开发者都不知道能这么玩吧