Databend 开源周报第 106 期

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

What's On In Databend

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

数据脱敏

Databend 新增数据脱敏能力。通过设定脱敏策略(Masking Policy),可以控制敏感数据的显示或访问方式,从而在允许授权用户与数据交互的同时保护机密性。

复制代码
-- Create a masking policy
CREATE MASKING POLICY email_mask
AS
  (val string)
  RETURNS string ->
  CASE
  WHEN current_role() IN ('MANAGERS') THEN
    val
  ELSE
    '*********'
  END
  COMMENT = 'hide_email';

-- Associate the masking policy with the 'email' column
ALTER TABLE user_info MODIFY COLUMN email SET MASKING POLICY email_mask;

数据脱敏 需要升级至 企业版 。如需了解升级信息,请联系 Databend 团队

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

Code Corner

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

为 Python Binding 支持 show() 方法

在 PySpark 、DuckDB、DataFusion 的 Python 绑定/包中均支持了 show() 方法,用于输出前 n 行结果。

Databend 最近也通过 PyO3 为 Python Binding 实现了相应的支持,代码片段如下。

复制代码
    #[pyo3(signature = (num=20))]
    fn show(&self, py: Python, num: usize) -> PyResult<()> {
        let blocks = self.collect(py)?;
        let bs = self.get_box();
        let result = blocks.box_render(num, bs.bs_max_width, bs.bs_max_width);

        // Note that println! does not print to the Python debug console and is not visible in notebooks for instance
        let print = py.import("builtins")?.getattr("print")?;
        print.call1((result,))?;
        Ok(())
    }

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

Highlights

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

  • 支持分布式 REPLACE INTO
  • 支持用于计算向量 2 范数(欧几里得范数)的算符 <->
  • 新增地理位置函数:h3_to_center_child / h3_exact_edge_length_m / h3_exact_edge_length_km / h3_exact_edge_length_rads / h3_num_hexagons / h3_line / h3_distance / h3_hex_ring``h3_get_unidirectional_edge
  • 阅读文档 Docs | ALTER TABLE COLUMN 了解如何利用添加、转换、重命名、更改或删除列等操作修改表。

What's Up Next

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

为 Hive Catalog 添加存储后端支持

此前 Databend 的 Hive Catalog 实现缺反自己的存储后端配置,只能回滚到 Default Catalog 对应的存储后端。导致当 Hive MetaStore 指向的存储服务与 Default Catalog 配置不一致时无法读取数据。

现在计划为 Hive Catalog 引入 CONNECTION 选项,允许对存储后端进行配置,解决异构存储下的 Hive 加速问题。

复制代码
CREATE CATALOG hive_ctl
TYPE=HIVE
HMS_ADDRESS='127.0.0.1:9083'
CONNECTION=(
    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 review 。或者,你可以点击 Add function to infer schema from files(CSV/Parquet) · Issue #6345 · datafuselabs/databend · GitHub 来挑选一个随机问题,祝好运!

New Contributors

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

Changelog

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

地址:Releases · datafuselabs/databend · GitHub

Contributors

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

Connect With Us

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

相关推荐
程序员三明治4 小时前
【MyBatis从入门到入土】告别JDBC原始时代:零基础MyBatis极速上手指南
数据库·mysql·mybatis·jdbc·数据持久化·数据
cookqq4 小时前
MongoDB源码delete分析oplog:从删除链路到核心函数实现
数据结构·数据库·sql·mongodb·nosql
瀚高PG实验室6 小时前
HGDB集群(安全版)repmgr手动切换主备库
java·数据库·安全·瀚高数据库
mit6.8246 小时前
[C# starter-kit] Domain Entities | `AuditableEntity`基类 | 跟踪变化 | 软删除
数据库·microsoft·c#
潇凝子潇6 小时前
MySQL Redo Log 和 Undo Log 满了会有什么问题
数据库·mysql
周杰伦_Jay8 小时前
【Homebrew安装 MySQL 】macOS 用 Homebrew 安装 MySQL 完整教程
数据库·mysql·macos
悟能不能悟13 小时前
redis的红锁
数据库·redis·缓存
安当加密15 小时前
MySQL数据库透明加密(TDE)解决方案:基于国密SM4的合规与性能优化实践
数据库·mysql·性能优化
JH307316 小时前
第七篇:Buffer Pool 与 InnoDB 其他组件的协作
java·数据库·mysql·oracle
板凳坐着晒太阳16 小时前
ClickHouse 配置优化与问题解决
数据库·clickhouse