Databend 开源周报第 107 期
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 = '<your-access-key-id>',
SECRET_ACCESS_KEY = '<your-secret-access-key>'
);
如果您想了解更多信息,请查看下面列出的资源。
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
如果您想了解更多信息,请查看下面列出的资源。
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
非常感谢贡献者们在本周的卓越工作。
Connect With Us
Databend 是一款开源、弹性、低成本,基于对象存储也可以做实时分析的新式数仓。期待您的关注,一起探索云原生数仓解决方案,打造新一代开源 Data Cloud。