当前位置: 首页 > news >正文

Databend 开源周报 第 83 期

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

What's New

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

Support for WebHDFS

HDFS 是大数据生态中流行的分布式文件系统,也是 Databend 支持的存储后端之一。但要在此前的实现中,如果要访问 HDFS 存储后端就不得不依赖 Java 环境和特定的 jar 包,不太方便。

WebHDFS 是一种 REST API,通过 HTTP 提供 HDFS 操作接口,Databend 现在支持使用 WebHDFS 作为存储后端,不再需要使用 Java 环境,使用起来会更加方便。

#> CREATE STAGE IF NOT EXISTS whdfs URL='webhdfs://127.0.0.1:9870/data-files/' CONNECTION=(HTTPS='false');
Query OK, 0 rows affected (0.020 sec)#> CREATE TABLE IF NOT EXISTS books (     title VARCHAR,     author VARCHAR,     date VARCHAR );
Query OK, 0 rows affected (0.030 sec)#> COPY INTO books FROM @whdfs FILES=('books.csv') file_format=(type=CSV field_delimiter=','  record_delimiter='\n' skip_header=0);
Query OK, 2 rows affected (0.615 sec)#> SELECT * FROM books;
+------------------------------+---------------------+------+
| title                        | author              | date |
+------------------------------+---------------------+------+
| Transaction Processing       | Jim Gray            | 1992 |
| Readings in Database Systems | Michael Stonebraker | 2004 |
+------------------------------+---------------------+------+
2 rows in set (0.044 sec)

如果你对 WebHDFS 的工作机制感兴趣,可以参阅下面列出的两个 Pull Requests:

  • PR | feat: backend webhdfs

  • PR | feat: Add support for copying from webhdfs

Support for Aggregation Spilling to Object Storage

大数据处理时需要解决的一个重要挑战是:如何高效、可靠地执行 Group By 和 Order By 操作。为了解决这个问题,Databend 社区正在开发一项新功能,它将会支持将中间结果溢出到像 AWS S3 这样的云对象存储。

这个功能落地后可以帮助 Databend 轻松处理涉及海量数据的 Group By 和 Order By 查询,而不会耗尽内存或影响性能。如果你对这个功能的原理和实现感兴趣,可以参阅这个 Pull Request:

  • PR | feat(query): support aggregate spill to object storage

Decimal Data Types

Databend 支持对多种数据类型的数据进行分析处理。近期的改进集中在 Decimal 类型上,该类型允许指定数值的精确度和计数方式。在财务计算等对高精度有依赖的场景,推荐使用 Decimal 类型。

-- Create a table with decimal data type.
create table decimal(value decimal(36, 18));-- Insert two values.
insert into decimal values(0.152587668674722117), (0.017820781941443176);select * from decimal;
+----------------------+
| value                |
+----------------------+
| 0.152587668674722117 |
| 0.017820781941443176 |
+----------------------+

如果你对 Databend 的 Decimal 类型感兴趣,可以参阅这篇文档:

  • Docs | Data Types - Decimal.

What's Up Next

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

编译时初始化 regex

federated_helper.rs 中使用了大量正则表达式来匹配查询。

use regex::bytes::RegexSet;let regex_set = RegexSet::new(regex_rules).unwrap();
let matches = regex_set.matches(query.as_ref());

如果能在编译时初始化 regex ,可能会带来一些优化。

Issue 10286: Feature: make regexp initialized at compile time

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

New Contributors

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

  • @xinlifoobar 实现 show table 时不再显示 SNAPSHOT_LOCATION,#10164

  • @wangjili8417 帮忙重新组织了转换函数相关的文档,#10255

  • @dusx1981 引入位图来记录 planner 规则,#10024

Changelog

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

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

Contributors

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

Connect With Us

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

  • Databend Website

  • GitHub Discussions

  • Twitter

  • Slack Channel

http://www.lryc.cn/news/33434.html

相关文章:

  • Spring | 基础
  • windows7安装sql server 2000安装步骤 及安装过程中遇到的问题和解决方式
  • Python 开发-批量 FofaSRC 提取POC 验证
  • Linux系统中部署软件
  • PHP常用框架介绍与比较
  • Umi + React + Ant Design Pro 项目实践(一)—— 项目搭建
  • MySQL知识点总结(1)
  • day45第九章动态规划(二刷)
  • 第十四届蓝桥杯第三期模拟赛原题与详解
  • client打包升级
  • Blazor_WASM之3:项目结构
  • OperWrt 包管理系统02
  • 人人都学会APP开发 提高就业竞争力 简单实用APP应用 安卓浏览器APP 企业内部通用APP制作 制造业通用APP
  • 【自然语言处理】从词袋模型到Transformer家族的变迁之路
  • LIME: Low-light Image Enhancement viaIllumination Map Estimation
  • 源码指标编写1000问4
  • Golang中GC和三色屏障机制【Golang面试必考】
  • MOS FET继电器(无机械触点继电器)设计输入侧电源时的电流值概念
  • 5. 驱动开发
  • 模板方法模式详解
  • 关于 Lightweight process container,ChatGPT的答案
  • 机器学习和深度学习的综述
  • Synopsys Sentaurus TCAD系列教程之--Sprocess(SmallMOS_2D3D) 解析
  • 好使!NAS中傻瓜式配置反向代理及SSL证书,提升网络安全性!
  • 数据结构队列-先进先出
  • CentOS 7使用TiUP部署TiDB
  • java单元测试批处理数据模板【亿点点日志配合分页以及多线程处理】
  • 【数据结构】模拟实现 堆
  • Go语言学习的第三天--上部分(基础用法)
  • linux面试基础篇