Databend 开源周报第 113 期

Databend 是一款现代云数仓。专为弹性和高效设计,为您的大规模分析需求保驾护航。自由且开源。即刻体验云服务:https://app.databend.cn

What's On In Databend

探索 Databend 本周新进展,遇到更贴近你心意的 Databend 。

数据导入具有额外列的表

默认情况下,COPY INTO 会按照文件中的字段顺序与表中对应的列进行匹配,从而将数据导入到表中。关键在于确保文件和表之间的数据正确对齐。

如果表中的列数大于文件中的字段数,可以手动指定需要导入数据的列来保证对齐。

而在导入 CSV 格式的数据文件时,如果表中的列数大于文件中的字段数,且额外列位于表的末尾,则可以使用 FILE_FORMAT 选项 ERROR_ON_COLUMN_COUNT_MISMATCH 来导入数据。

如果您想了解更多信息,请查看下面列出的资源。

Code Corner

一起来探索 Databend 和周边生态中的代码片段或项目。

为 ParquetReader 设计读策略

直接使用 arrow-rs 的 API 存在一些问题,当我们尝试为 prewhere 和 topk 下推预取数据时,无法重用之前已经反序列化过的数据块,而在现有的实现上支持重用逻辑会很复杂。

为了改善 row group 的读逻辑并且重用上一个阶段中的预取数据,我们对相关逻辑进行了大量的重构并且引入了读策略进行解耦。

NoPrefetchPoliy

没有预取阶段。直接读、反序列化并输出你需要的数据块。

PredicateAndTopkPolicy

在预取阶段预取 prewhere 和 topk 需要的列。它们反序列化为 DataBlock ,并将其计入 RowSelection 。然后按批大小分割 DataBlock 并将结果存储在内存中的 VecDeque 中。

在最后阶段读取 RowSelection 指定的剩余列,并按批输出 DataBlocks 。接着合并预取数据并根据 output_schema 来投影得到结果数据块。

TopkOnlyPolicy

PredicateAndTopkPolicy 类似,但在预取阶段只考虑 topk 。

如果您想了解更多信息,请查看下面列出的资源。

Highlights

以下是一些值得注意的事件,也许您可以找到感兴趣的内容。

  • 在 Query 日志中增加 Spill 相关信息。
  • 支持使用 COPY INTO 将数据导出为压缩文件。
  • 引入 GET /v1/background/:tenant/background_tasks HTTP API 来查询后台任务。
  • 阅读 Example 4: Filtering Files with Pattern 以了解如何使用模式来过滤文件。

What's Up Next

我们始终对前沿技术和创新理念持开放态度,欢迎您加入社区,为 Databend 注入活力。

修复由 SQLsmith 检测出的问题

自上个月引入 SQLsmith 测试,累计检测出大约 40 个问题。Databend Labs 正在致力于修复这些问题来改善各种场景下的系统稳定性。

我们希望你也可以参与到这项工作中,其中可能会有一些涉及类型转换和特殊值处理的简单任务,可以参考之前的其他修复进行处理。

Issues | Found by SQLsmith

如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 PR review 。或者,你可以点击 https://link.databend.rs/i-m-feeling-lucky 来挑选一个随机问题,祝好运!

New Contributors

一起认识社区中的新伙伴,Databend 因你们而变得更加美好。

  • @zenus 修复了在执行COPY INTO期间未检测到模式不匹配的问题,#13010.

Changelog

前往查看 Databend 每日构建的变更日志,以了解开发的最新动态。

地址:https://github.com/datafuselabs/databend/releases

Contributors

非常感谢贡献者们在本周的卓越工作。

Connect With Us

Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/u/5489811/blog/10116013

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
优质分享Android(本站安卓app)

优质分享Android(本站安卓app)

近一个月的开发和优化,本站点的第一个app全新上线。该app采用极致压缩,本体才4.36MB。系统里面做了大量数据访问、缓存优化。方便用户在手机上查看文章。后续会推出HarmonyOS的适配版本。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。