Databend 开源周报 #70

news2024/12/23 0:45:27

Databend 是一款强大的云数仓。专为弹性和高效设计,自由且开源。

即刻体验云服务:https://app.databend.com。

What’s New

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

Features & Improvements

Format

  • 更好地检查格式相关选项 (#8981)
  • 为 Parquet 文件提供基本的模式推断能力 (#9043)

Query

  • QualifiedName 支持 ‘db.table.’ 和 ‘table.’ (#8965)
  • 支持批量插入时关闭表达式解析 (#8966)

Storage

  • 为 fuse engine 增加 cache layer (#8830)
  • 新增 system 表 system.memory_statistics (#8945)
  • 新增 “optimize table table_name statistic” 支持,用于计算表统计信息 (#8891)

Code Refactor

Base

  • 移除 common-macros (#8936)

Format

  • TypeDeserializer 中去除 FormatSetting (#8950)

Planner

  • 重构 “ExtractOrPredicate” ,合并到 “RulePushDownFilterJoin”(#8951)

Processors

  • 合并构建数据块来优化 join (#8961)

New Expression

  • 使用新方法重做 #8789 (#9008)

Documentation

  • 使用 Crowdin 提供 i18n 支持 (#8987, #8997, etc.)

Bug Fix

Base

  • 修复 memory tracker 丢失的问题 (#8932)

Meta

  • 修复 share db 漏洞,如果需要则创建 “DatabaseIdToName” (#9006)

Mysql handler

  • 修复 MySQL 连接泄漏 (#8894)

Processors

  • 修复 “update_list” 中的内存泄漏 (#9023)

Storage

  • 压缩时并行读写数据块 (#8921)

What’s On In Databend

请持续关注 Databend 的最新动态。

Infer Schema 前瞻

通常,在从 stage 或者其他位置载入数据时,我们需要先创建对应的表。但有些时候,我们无法预知文件模式或者需要创建的模式太复杂,使得无法轻松完成创建表的工作。

引入模式推断将会简化从文件载入数据的过程。甚至,可以直接使用 SELECT 语句查询 stage 中的数据,例如 “select * from @my_stage” 。

INFER 's3://mybucket/data.csv' FILE_FORMAT = ( TYPE = CSV );
+-------------+---------+----------+
| COLUMN_NAME | TYPE    | NULLABLE |
|-------------+---------+----------|
| CONTINENT   | TEXT    | True     |
| COUNTRY     | VARIANT | True     |
+-------------+---------+----------+

在 #9043 中,Databend 新增对 parquet 文件进行基本模式推断的接口,我们将会在这个基础上继续推动 #7211 的解决,以支持 “select * from @stage” 。

阅读以下材料以了解更多讯息:

  • PR | add basic schema infer for parquet

  • Issue | query data from S3 location or stage

  • PR | rfc: Infer Schema

What’s Up Next

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

为 MySQL Handler 添加 TLS 支持

近期发布的 opensrv-mysql v0.3.0 引入了 TLS 支持,是时候为 Databend 的 MySQL Handler 实现它。

let (is_ssl, init_params) = opensrv_mysql::AsyncMysqlIntermediary::init_before_ssl(
    &mut shim,
    &mut r,
    &mut w,
    &Some(tls_config.clone()),
)
.await
.unwrap();

opensrv_mysql::secure_run_with_options(shim, w, ops, tls_config, init_params).await

Issue 8983: Feature: tls support for mysql handler

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

  • Weekly :https://weekly.databend.rs/

  • GitHub Discussions :https://github.com/datafuselabs/databend/discussions

  • Twitter :https://twitter.com/Datafuse_Labs

  • Slack Channel :https://link.databend.rs/join-slack

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/66880.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PCB 二:AD 原理图绘制以及PCB绘制

PCB 二:AD 原理图绘制以及PCB绘制前言(一)资料总结(二)PCB前言 本文简单收集了AD软件在绘制PCB电路板的一些资料,还有遇到的一些问题,并记录一些常用的操作。 (一)资料总结 1【AD】Altium Designer 原理图的绘制 2【AD】Altium Designer P…

飞利浦CT的AI重建技术

原文:AI for significantly lower dose and improved image quality 飞利浦医疗CT的深度学习重建技术。 人工智能可显着降低剂量并提高图像质量概述背景飞利浦CT智能工作流Precise Image 如何训练神经网络深入了解深度学习训练神经网络验证神经网络推断法可以实现快…

Android 11及以上授予文件管理权限

背景 安卓11改变了此前安卓系统对于文件管理的规则,在安卓11上,文件读写变成了特殊权限。应用默认只能读写自己的目录/android/data/包名 gradle配置 Android11系统对应用写入权限做了严格的限制。本文介绍如何获取文件读写权限。 项目中 build.gradle 的targetSdkVersion …

YOLOv5 模型结构及代码详细讲解(一)

王旭*,沈啸彬 *, 张钊* (淮北师范大学计算机科学与技术学院,淮北师范大学经济与管理学院,安徽 淮北) *These authors contributed to the work equllly and should be regarded as co-first authors. 🌞欢迎来到深度学习的世界 …

window本地编译Spring源码并运行

1. Gradle 下载地址 https://services.gradle.org/distributions/ 2. Jdk下载地址: https://www.oracle.com/java/technologies/downloads/#java11-windows 3. Spring源码下载地址 https://github.com/spring-projects/spring-framework/tags 4. 注意事项 以…

微服务守护神-Sentinel-流控规则

引言 书接上篇 微服务守护神-Sentinel-概念 ,上面介绍了Sentinel相关概念,本篇就来看下Sentinel的流控规则。 流控规则 流量控制,其原理是监控应用流量的QPS(每秒查询率) 或并发线程数等指标,当达到指定的阈值时 对流量进行控…

OSG开发-使用VisualStudio2019创建CMake项目方式开发HelloOSG

本文保证你使用VS2019,可以把这个OSG程序开发出来,看到那个蓝色的带有纹理的地球。 大概步骤如下: 下载已经编译好的OSG的库和头文件新建一个CMake项目编辑make.txt编写main.cpp运行。下载已经编译好的OSG的库和头文件 由于我们需要用OSG的…

blender 常用修改器

文章目录前置.阵列.倒角.布尔.精简.拆边.镜像.螺旋.实体化表面细分.三角化.体积到网格.焊接修改器.蒙皮.线框.铸型.曲线修改器.置换修改器.晶格修改器.缩裹修改器.简易修改.表面形变修改 .多级精度修改器.前置. 注意,修改器未应用前,只能操作原物体 阵…

自动驾驶:2022 apollo day 观后感(三)

自动驾驶:2022 apollo day 观后感(三)TOPIC THREE: 文心大模型在自动驾驶感知中的落地应用(王井东)多传感器融合autolabeling的发展:大模型数据闭环大模型,已经成为自动驾驶能力提升…

差动驱动机器人轨迹-CoCube

轨迹博客: 玫瑰线轨迹如何规划?(desmosROS2turtlesim……) ROS1云课→23turtlesim绘制小结(数学和编程) 如上所涉及的机器人假定模型都是差动驱动机器人。 许多移动机器人使用一种称为差动驱动的驱动机构…

vue项目图片裁剪上传——vue-cropper的使用,裁剪后上传头像

vue项目图片裁剪上传——vue-cropper的使用,裁剪后上传头像 npm地址:https://www.npmjs.com/package/vue-cropper github地址:https://github.com/xyxiao001/vue-cropper 在线demo:http://github.xyxiao.cn/vue-cropper/exampl…

学习分享:如何进行全局变量的学习

​对于很多朋友,尤其是刚接触全局变量的朋友而言,全局变量的学习对他们来说不是一件容易的事情。关于这方面的学习,很多朋友不太理解它的用法及分析方法,所以会比较乱,难以掌握。 什么是axure全局变量?全局…

【STM32】详解PWM的概念和原理

PWM的概念和原理一、PWM是什么?二、如何实现?三、STM32中的PWM四、使用库函数配置PWM将LED0设置为呼吸灯一、PWM是什么? PWM(Pulse width modulation)脉冲宽度调制。PWM是通过编程控制输出方波的频率和占空比&#xf…

oracle自启动的p***并行进程过多导致的process进程超限问题

某项目现场反馈无任何业务连接,查询v$process仍有500多个进程; 查询会话连接,也只有十几个会话; select b.MACHINE, b.PROGRAM,b.USERNAME, count(*) from v$process a, v$session b where a.ADDR b.PADDR and b.USERNAME is…

RCNN学习笔记-ResNeXt

论文地址:https://arxiv.org/pdf/1611.05431.pdf Abstract 我们提出了一种简单、高度模块化的图像分类网络体系结构。我们的网络是通过重复一个构建块来构建的,该构建块聚合了一组具有相同拓扑的变换。我们的简单设计产生了一个只有几个超参数可设置的…

JavaScript -- 数组常用方法及示例代码总结

文章目录数组的方法1 Array.isArray()2 at()3 concat()4 indexOf()5 lastIndexOf()6 join()7 slice()8 push()9 pop()10 unshift()11 shift()12 splice()13 reverse()14 sort()15 forEach()16 filter()17 map()18 reduce()数组的方法 Array参考文档:https://develo…

AIoT通用组件服务攻略之设备“收纳”好帮手——分组管理

天翼物联网平台(AIoT)通用组件服务提供设备分组管理功能,既可将单个产品下的部分设备划成一个分组,也可将多个产品下的设备划成一个统一分组,主要用于对设备进行归类管理,便于对设备进行批量操作。 对设备…

Java中高级核心知识全面解析——类加载过程

一个非数组类的加载阶段(加载阶段获取类的二进制字节流的动作)是可控性最强的阶段,这一步我们可以去完成还可以自定义类加载器去控制字节流的获取方式(重写一个类加载器的 loadClass() 方法)。数组类型不通过类加载器创…

适用于嵌入式单片机的差分升级通用库+详细教程

1. 什么是差分/增量升级? 借用网上的介绍:适合嵌入式的差分升级又叫增量升级,顾名思义就是通过差分算法将源版本与目标版本之间差异的部分提取出来制作成差分包,然后在设备通过还原算法将差异部分在源版本上进行还原从而升级成目…

Jekyll如何自定义摘要

最近搭建博客网站的时候遇到一个问题:博客的摘要包含了内容的格式,比如下面这张图。 标题的样式显示在摘要中,这可太奇怪了。我在查找文档之后没有想到合适的解决方案,于是乎就去 Jekyll 的项目下面提了个 Issue 问了一下。 在…