Databend 开源周报第 107 期

Databend 开源周报第 107 期_第1张图片

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

What's On In Databend

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

理解连接参数

连接参数 是建立与 Databend 支持的外部存储服务(如Amazon S3)的连接时所需的一组身份验证和配置信息。这些参数被括号包围、由一组用逗号或空格分隔的键值对组成。在创建 Stage 、COPY INTO 和查询外部文件时都会用到。

下面的 SQL 语句展示了如何利用连接参数创建用 S3 作为底层存储的 Stage 。

CREATE STAGE my_s3_stage
URL = 's3://load/files/'
CONNECTION = (
    ACCESS_KEY_ID = '',
    SECRET_ACCESS_KEY = ''
);

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

  • Docs | SQL Reference - Connection Parameters

Hive Catalog 支持配置存储参数

在刚刚过去的一周中,Databend 为 Hive Catalog 引入了存储参数选项,允许为其配置特定的存储服务,不再依赖 Default Catalog 自身的存储后端。

下面的例子展示了如何创建以 MinIO 作为底层存储服务的 Hive Catalog :

CREATE CATALOG hive_ctl 
TYPE = HIVE 
CONNECTION =(
    ADDRESS = '127.0.0.1:9083' 
    URL = 's3://warehouse/' 
    AWS_KEY_ID = 'admin' 
    AWS_SECRET_KEY = 'password' 
    ENDPOINT_URL = 'http://localhost:9000/'
)

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

  • Issue #12407 | Feature: Add storage support for Hive catalog
  • PR #12469 | feat: Add storage params in hive catalog

Code Corner

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

使用 gitoxide 加速 Git 依赖下载

gitoxide 是一个用 Rust 编写的高性能、现代化的 Git 实现。利用 cargo 的 gitoxide 特性(Unstable),可以使用 gitoxide crate 替代 git2 执行各种 git 操作,从而在下载 crates-index 和 git 依赖时获得数倍的性能提高。

Databend 最近在 CI 中为 cargo {build | clippy | test} 启用了这一特性,你也可以在本地开发时尝试添加 -Zgitoxide 选项来加速构建过程:

cargo -Zgitoxide=fetch,shallow-index,shallow-deps build

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

  • chore(ci): cargo build with -Zgitoxide
  • The Cargo Book | Unstable - gitoxide

Highlights

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

  • 不与 SELECT 共用也可以单独使用 VALUES 子句。
  • 变更列时支持修改默认值。
  • 为 Parquet 格式的表添加虚拟列支持
  • 支持在执行写入操作(COPY INTO 和 REPLACE INTO)后对表进行自动重聚类

What's Up Next

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

增强 infer_schema 能力以支持文件路径

当前,Databend 既支持查询由文件路径指向的文件也支持查询位于 Stage 中的文件,例如:

select * from 'fs:///home/...';
select * from 's3://bucket/...';
select * from @stage;

然而,目前 infer_schema 只支持处理位于 Stage 中的文件:

select * from infer_schema(location=>'@stage/...');

如果需要位于其它路径下的文件进行推断,就会导致报错:

select * from infer_schema(location =>'fs:///home/...'); -- this will panic.

我们希望可以统一 infer_schema 函数的行为,允许其对所有位置的文件进行推断,使之具有更好的可用性。

Issue #12458 | Feature: infer_schema support normal file path

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

Changelog

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

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

Contributors

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

Databend 开源周报第 107 期_第2张图片

Connect With Us

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

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel

你可能感兴趣的:(开源,数据库)