写点什么

Databend 开源周报第 137 期

作者:Databend
  • 2024-03-26
    福建
  • 本文字数:1899 字

    阅读完需:约 6 分钟

Databend 开源周报第 137 期

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

What's On In Databend

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

支持查询匹配倒排索引

倒排索引是文档检索系统中最常用的数据结构,用来存储在全文搜索下某个单词在一个文档或者一组文档中的存储位置的映射。


Databend 现已支持在查询中使用 match 匹配倒排索引。


SELECT id, score(), content FROM t WHERE match(content, '中国') ORDER BY score()----21 1.1967509 中国的古代诗词充满了深邃的意境和独特的韵味,是中华文化的重要组成部分。24 1.1967509 中国的传统节日蕴含着丰富的文化内涵,是传承和弘扬中华文化的重要途径。28 1.3336442 中国的饮食文化博大精深,各地的美食各具特色,让人流连忘返。12 1.4319203 北京的故宫是中国古代建筑的瑰宝,吸引了无数游客前来参观。15 1.5059 中国的茶文化源远流长,品茶已经成为一种生活方式。
复制代码


如果您想了解更多信息,欢迎联系 Databend 团队,或查看下面列出的资源。


Code Corner

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

结合 TASK 和 STREAM 实时捕获和跟踪用户活动

Databend 中的流(STREAM)是对表变化的动态实时表示。创建流可以捕获和跟踪相关表的修改,并进行持续分析。而任务封装了特定的 SQL 语句,旨在按照预定的时间间隔、特定事件触发或作为更广泛的任务序列的一部分来执行。


在创建任务时,可以按照下面的工作流程进行设计。



下面的示例展示了如何结合 TASK 和 STREAM 实时捕获和跟踪用户活动,定期将 user_activity_profiles 表与 activities_stream 中的数据进行同步,,以确保user_activity_profiles 总能准确反映最新的用户活动。


-- Define a task in DatabendCREATE TASK user_activity_task WAREHOUSE = 'default'SCHEDULE = 1 MINUTE-- Trigger task when new data arrives in activities_streamWHEN stream_status('activities_stream') AS     -- Insert new records into user_activity_profiles    INSERT INTO user_activity_profiles    SELECT        -- Join activities_stream with user_profiles based on user_id        a.user_id, p.username, p.location, a.activity, a.timestamp    FROM        activities_stream AS a        JOIN user_profiles AS p            ON a.user_id = p.user_id    -- Include only rows where the action is 'INSERT'    WHERE a.change$action = 'INSERT';
复制代码


欢迎感兴趣的小伙伴阅读下面的文档,了解如何利用 Databend Cloud 完成这项任务。


Highlights

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


  • 支持 show viewsdesc view

  • 新增 is_error, is_not_error, error_or 函数。

  • task_history 支持分页。

  • 支持 PRQL 查询语言。

What's Up Next

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

支持 CHANGES 子句

CHANGES 子句允许在指定的时间间隔内查询表或视图的变更跟踪元数据,而无需创建具有显式事务偏移量的流。


组合多个查询可以用于检索不同事务边界之间的变更跟踪元数据。


SELECT ...FROM ...   CHANGES ( INFORMATION => { DEFAULT | APPEND_ONLY } )   AT ( { TIMESTAMP => <timestamp> | OFFSET => <time_difference> | STREAM => '<name>' } )   [ END( { TIMESTAMP => <timestamp> | OFFSET => <time_difference> } ) ][ ... ]
复制代码


Issue #15028 | Feature: support CHANGES clause


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

New Contributors

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


Changelog

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


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

Contributors

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


Connect With Us

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


发布于: 刚刚阅读数: 4
用户头像

Databend

关注

还未添加个人签名 2022-08-25 加入

还未添加个人简介

评论

发布
暂无评论
Databend 开源周报第 137 期_Databend_InfoQ写作社区