Databend 开源周报第 137 期

news/2024/7/10 20:40:10 标签: 开源

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 团队,或查看下面列出的资源。

  • PR | feat(query): Support query match inverted index

Code Corner

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

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

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

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

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

-- Define a task in Databend
CREATE TASK user_activity_task 
WAREHOUSE = 'default'
SCHEDULE = 1 MINUTE
-- Trigger task when new data arrives in activities_stream
WHEN 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 完成这项任务。

  • Docs | Automating Data Loading with Tasks
  • Docs | Example: Tracking and Transforming Data in Real-Time

Highlights

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

  • 支持 show views 和 desc view
  • 新增 is_erroris_not_errorerror_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 。或者,你可以点击 refactor stage related tests · Issue #8528 · datafuselabs/databend · GitHub 来挑选一个随机问题,祝好运!

New Contributors

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

  • @ncuwaln 实现了对 PRQL 的支持,#14922 。
  • @blackstar-baba 实现了对 show views 和 desc view 的支持,#14926 。

Changelog

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

地址:Releases · datafuselabs/databend · GitHub

Contributors

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

Connect With Us

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

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel

http://www.niftyadmin.cn/n/5453904.html

相关文章

【基础知识】HTTP协议中“POST“和“GET”两种请求方式区别

0x01:两种方法对比 在我们客户端与服务器之间进行请求和响应的时候&#xff0c;最常用的两种方法是&#xff1a;GET和POST POST —— 向指定的资源提交要被处理的数据。 GET —— 向指定的资源请求数据 GET请求参数呢一般显示在URL上面 POST请求参数是在请求体里面&#xff…

零基础自学C语言|文件操作

✈为什么使用文件&#xff1f; 如果没有文件&#xff0c;我们写的程序的数据是存储在电脑的内存中&#xff0c;如果程序退出&#xff0c;内存回收&#xff0c;数据就丢失了&#xff0c;等再次运行程序&#xff0c;是看不到上次程序的数据的&#xff0c;如果要将数据进行持久化…

Vue3尚硅谷张天禹笔记

1. Vue3简介 2020年9月18日&#xff0c;Vue.js发布版3.0版本&#xff0c;代号&#xff1a;One Piece&#xff08;n 经历了&#xff1a;4800次提交、40个RFC、600次PR、300贡献者 官方发版地址&#xff1a;Release v3.0.0 One Piece vuejs/core 截止2023年10月&#xff0c;最…

基于SSM+Jsp+Mysql的在线CRM系统

开发语言&#xff1a;Java框架&#xff1a;ssm技术&#xff1a;JSPJDK版本&#xff1a;JDK1.8服务器&#xff1a;tomcat7数据库&#xff1a;mysql 5.7&#xff08;一定要5.7版本&#xff09;数据库工具&#xff1a;Navicat11开发软件&#xff1a;eclipse/myeclipse/ideaMaven包…

前端学习<二>CSS基础——04-CSS选择器:伪类

伪类&#xff08;伪类选择器&#xff09; 伪类&#xff1a;同一个标签&#xff0c;根据其不同的种状态&#xff0c;有不同的样式。这就叫做“伪类”。伪类用冒号来表示。 比如div是属于box类&#xff0c;这一点很明确&#xff0c;就是属于box类。但是a属于什么类&#xff1f;…

http响应练习—在服务器端渲染html(SSR)

一、什么是服务器端渲染&#xff08;SSR&#xff09; 简单说&#xff0c;就是在服务器上把网页生成好&#xff0c;整个的HTML页面生成出来&#xff0c;生成出的页面已经包含了所有必要的数据和结构信息&#xff0c;然后直接发给浏览器进行展现。 二、例题 要求搭建http服务&a…

数据结构进阶篇 之 【二叉树顺序存储(堆)】的整体实现讲解(赋完整实现代码)

做人要谦虚&#xff0c;多听听别人的意见&#xff0c;然后记录下来&#xff0c;看看谁对你有意见 一、二叉树的顺序&#xff08;堆&#xff09;结构及实现 1.二叉树的顺序结构 2.堆的概念及结构 3.堆的实现 3.1 向下调整算法 AdJustDown 3.2 向上调整算法 AdJustUP 3.3 …

list转map先分组再聚合求数量

先分组再聚合求数量 Map<String, Integer> authMap itemList.stream().collect(Collectors.groupingBy(item -> item.getAuthItemId(),Collectors.mapping(ProCountForm::getInStoNum, Collectors.summingInt(v -> v))))