Databend 开源周报 第 97 期

news/2024/7/10 20:08:05 标签: 开源

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

What's On In Databend

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

列位置

Databend 现在支持 $N 这一语法,用来表示列位置,例如:$2 意味着匹配第 2 列。Databend 也支持在 SQL 语句中将列位置和列名结合使用。下面是一个简单的例子:

CREATE TABLE IF NOT EXISTS t1(a int, b varchar);
INSERT INTO t1 values (1, 'a'), (2, 'b');
select $1, $2, a, b from t1;

┌─────────────────────────────────┐
│   $1  │   $2   │   a   │    b   │
│ Int32 │ String │ Int32 │ String │
├───────┼────────┼───────┼────────┤
│     1 │ a      │     1 │ a      │
│     2 │ b      │     2 │ b      │
└─────────────────────────────────┘

我们正在为 SELECT FROM @stage 添加列位置支持。目前,你可以在 NDJSON 格式上尝试这一新特性。其他格式的支持还在进行中。

select $1 from @my_stage

copy into my_table from (select $1 from @my_stage t)

需要注意的是,在 Databend 中使用 SELECT 语句处理 NDJSON 格式文件时,只允许使用 $1 表示整行数据,并且其数据类型为 Variant 。

-- Select the entire row using column position:
SELECT $1 FROM @my_stage

--Select a specific field named "a" using column position:
SELECT $1:a FROM @my_stage

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

  • Issue | Feature: support $<col_position>
  • Issue | Feature: copy/select from stage by pos
  • PR | feat: support column position like $N
  • PR | feat: select from stage support NDJson

Code Corner

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

了解 Databend 的持续集成工作流 - 拼写检查

Databend 现在有一组非常复杂的持续集成工作流,用于代码审计、测试、benchmark 和发布。拼写检查无疑是其中最简单的部分。

与其他工作流一样,我们使用 actions/checkout 检出代码。

- uses: actions/checkout@v3
  with:
    clean: "true"

typos-cli 是一个用 Rust 编写的拼写检查工具,快速、准确,适用于像 Databend 这样的大型单一代码库,并且非常适用于针对 PR 的检查。

- uses: baptiste0928/cargo-install@v1
  with:
    crate: typos-cli
    args: --locked
    cache-key: typos-check

使用 baptiste0928/cargo-install 可以轻松安装依赖,它几乎和 cargo install 保持一致,只是需要遵循 GitHub actions 的风格。另外,它还提供自动缓存支持,能够加速后续构建。

- name: do typos check with typos-cli
  run: typos

需要注意的是,虽然 crate 的名字是 typos-cli ,但是对应二进制可执行程序的名字是 typos 。

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

  • Workflows | typos.yml

亮点

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

  • 支持分布式 Top-N.
  • 默认启用 lazy_topn_threshold ,并设置默认阈值为 1000 。
  • 为保障安全性,root 用户可以变更密码。
  • 阅读 Blog | Databend X Tableau 了解如何使用 Tableau 连接 Databend 进行 BI 数据分析。
  • 阅读 Docs | Integrating Databend as a Sink for Vector 和 Docs | Analyzing Nginx Access Logs with Databend 理解如何集成 Vector 和 Databend 。

What's Up Next

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

在 REST API 中添加去重标签字段

为了确保数据摄取是幂等操作,Databend 使用去重标签来支持 DML 的去重。你可以在 Docs | Setting Commands - SET_VAR 中找到关于此功能的更多信息。

为了方便跨语言驱动程序集成,我们可以在 REST API 中添加去重标签字段。

Issue #11710 | Feature: support to bring deduplication label on stage attachment api

如果你对这个主题感兴趣,可以尝试解决其中的部分问题或者参与讨论和 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。

  • Databend Website
  • GitHub Discussions
  • Twitter
  • Slack Channel

 


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

相关文章

API提取模式HTTP代理IP使用

我们可以通过一些免费或付费的代理池 API 接口来获取代理 IP 地址。以下是使用 Python 通过 API 接口获取代理 IP 并使用它来访问目标网站的示例&#xff1a; import requests# 代理池 API 接口 URL api_url "https://www.zdaye.com"# 发送 GET 请求获取代理 IP re…

项目描述1

学成在线- 6分片上传&#xff0c;8xxl-job 课程模块开发 分布式事务&#xff0c;消息表 spring-security oauth 用户认证授权 学成在线 学成在线认证授权 一些代码 黑马分布式事物 框架学习 - 若依 / RuoYi-Vue-Plus 统一数据权限 若依数据权限使用 数据权限表结构 1. 设备故…

java小技能:spring中的异步方法

文章目录 引言I @Async失效的原因1.1 在配置类中开启@EnableAsync注解1.2 在同一个类中调用,异步方法仍然是同步执行的。1.3 private方法调用,异步方法仍然是同步执行的。1.4 静态方法,异步仍然是同步执行的。II 异步调用上游接口引言 异步执行的场景:不处理方法结果/在不…

Java连接MySQL对数据实现增删改查

在实现好的窗口实现 添加修改删除查询数据的方法 以如下数据实验 statement自带的函数使用说明execute &#xff08;SQL&#xff09;执行给定的SQL语句返回一个或多个结果结果集 execute方法应该仅在语句能返回多个ResultSet对象、多个更新计数或ResultSet对象与更新计数的组…

燃气管网监测系统助力天燃气管道安全运行

随着城市化的进程&#xff0c;燃气管道网络在各个城市中越来越密集&#xff0c;一旦发生燃气泄漏等安全事故&#xff0c;后果将不堪设想。因此&#xff0c;城市燃气管网的建设发展有赖于制定一个安全可靠的监控方案&#xff0c;以保障供气管道与用户安全。物联网技术的发展为城…

goland代码规范之代码风格

衡量代码质量的唯一标准是阅读该代码时说脏话的次数 一个优秀的团队应当保持一致的代码风格&#xff0c;我们在实践中发现&#xff0c;如果一个项目的代码风格不一致&#xff0c;会导致项目杂乱、不利于跨模块开发、影响开发效率、想骂人等弊端&#xff0c; 在定义我们的编码风…

计件工资系统对传统制造业工厂能起到哪些作用,被很多企业所忽视

什么是计件工资系统 计件工资系统是一种按照工作量计算薪资的工资制度。它是在企业中比较常见的一种激励方式&#xff0c;也是一种适用于一些经常需要计量工作成果的行业的薪酬制度。 在计件工资系统中&#xff0c;员工的薪资是根据他们完成的工作量来计算的。通常会根据不同…

导入模型设置

资料 Model选项卡 Unity性能优化 网格 Windows Player settings Meshs Mesh Compression 设置压缩级别以减小网格大小(占用较少的磁盘空间)&#xff0c;会降低网格的精度&#xff0c;运行时不减少使用的内存 可根据情况调节压缩比Mesh Read/Write 开启可读取网格数据&#x…