内容简介:DataFusion 是一个可扩展的查询执行框架,用 Rust 编写,使用 Apache Arrow 作为其内存格式。 DataFusion 支持用于构建逻辑查询计划的 SQL 和 DataFrame API,以及能够使用线程对分区数据源(CSV 和 Parquet)并行...
DataFusion 是一个可扩展的查询执行框架,用 Rust 编写,使用 Apache Arrow 作为其内存格式。
DataFusion 支持用于构建逻辑查询计划的 SQL 和 DataFrame API,以及能够使用线程对分区数据源(CSV 和 Parquet)并行执行的查询优化器和执行引擎。DataFusion 还通过 Ballista crate 支持分布式查询执行 。
近日,Apache Arrow 团队正式推出了 DataFusion 5.0.0 版本,该版本汇集了 31 个不同的贡献者共 211 个提交。
该版本的更新亮点包括:
性能
这个版本在性能上有许多改进,下图显示了单个 TPC-H 查询与前一版本相比的相对性能。
该版本还扩展了对更多 TPC-H 查询的支持:q7、q8、q9 和 q13 均在 DataFusion 5.0 中成功运行。
新功能
- 对 SQL-99 Analytics 的初步支持;
- 改进了 JOIN 支持:cross join、semi-join、anti join,以及对空处理的修正;
- 改进的 EXPLAIN 支持;
- 支持 SELECT DISTINCT;
- 支持 Json 和 NDJson 格式的输入;
- 具有关系的查询列;
- 增加了更多与日期时间相关的函数:
now
,date_trunc
,to_timestamp_millis
,to_timestamp_micros
,to_timestamp_seconds
- Streaming Dataframe.collect;
- 支持表列别名;
- 仅使用统计数字回答 count(*)、min() 和 max() 查询;
- 支持按列位置分组;
- 增加了常量折叠查询优化器;
- 哈希分区聚合;
- 增加了
random
SQL 函数; - 实现了对浮点和字典类型的计数区分;
- 在 Datafusion 中重新导出 arrow 和 parquet 板块;
更多详情可查看:https://github.com/apache/arrow-datafusion/blob/5.0.0/datafusion/CHANGELOG.md
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 优秀开源框架的扩展机制实现
- 阿里 Sentinel 框架的一些小扩展
- LaserCrack:一款可扩展的暴力破解框架
- Asf PHP扩展框架之预警模块介绍
- Flask框架从入门到精通之扩展脚本(十五)
- Nfstream:一款易于扩展的网络数据分析框架
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。