Databend 开源周报第 110 期

news/2024/7/10 20:39:37 标签: 开源, 数据库

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

What's On In Databend

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

使用 BendSQL 管理 Stage 中的文件

Databend 推荐使用 PRESIGN 来将文件上传到 stage 中或者将文件下载到本地。PRESIGN 会生成一个带有时间限制的预签名 URL ,提供了一种安全高效的数据传输方式,并且减少文件传输的延迟。

对于 BendSQL 客户端的用户而言,可以利用 PUT 命令将文件上传到 Stage 并使用 GET 命令下载 Stage 中的文件。

root@localhost:8000/default> PUT fs:///books.parquet @~

PUT fs:///books.parquet @~

┌───────────────────────────────────────────────┐
│                 file                │  status │
│                String               │  String │
├─────────────────────────────────────┼─────────┤
│ /books.parquet                       │ SUCCESS │
└───────────────────────────────────────────────┘

GET @~/ fs:///fromStage/

┌─────────────────────────────────────────────────────────┐
│                      file                     │  status │
│                     String                    │  String │
├───────────────────────────────────────────────┼─────────┤
│ /fromStage/books.parquet                      │ SUCCESS │
└─────────────────────────────────────────────────────────┘

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

  • Docs | Staging Files

Code Corner

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

在 Jupyter Notebook 中使用 Databend Python Binding

Databend 提供 Python Binding ,无需部署 Databend 实例即可使用,DataFrame 也可以自由转换到 Polars 和 Pandas 格式,方便和数据科学工具集成使用。

只需要执行下面的命令安装即可:

pip install databend

下面的程序展示了如何在 Jupyter Notebook 中使用 Databend Python Binding ,并利用 matplotlib 绘制条形图。

# Create a table in DataBend
ctx.sql("CREATE TABLE IF NOT EXISTS user (created_at Date, count Int32)")

# Create a table in DataBend
ctx.sql("CREATE TABLE IF NOT EXISTS user (created_at Date, count Int32)")

# Insert multiple rows of data into the table
ctx.sql("INSERT INTO user VALUES ('2022-04-01', 5), ('2022-04-01', 3), ('2022-04-03', 4), ('2022-04-03', 1), ('2022-04-04', 10)")

# Execute a query
result = ctx.sql("SELECT created_at as date, count(*) as count FROM user GROUP BY created_at")

# Display the query result
result.show()

# Import libraries for data visualization
import matplotlib.pyplot as plt

# Convert the query result to a Pandas DataFrame
df = result.to_pandas()

# Create a bar chart to visualize the data
df.plot.bar(x='date', y='count')
plt.show()

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

  • Docs | Tutorial-3: Integrate with Jupyter Notebook with Python Binding Library

Highlights

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

  • 实现对所有权模型的初步支持
  • Hash Join 支持溢出(spill)
  • Databend 中的列现在默认支持空值,阅读文档 Docs | NULL Values and NOT NULL Constraint 了解详细情况。
  • 阅读文档 Docs | databend-local 掌握 Databend Local 模式。

What's Up Next

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

支持使用 JavaScript 创建 UDF

PR #12729 | feat: implement udf server in databend 预计会在本周进行合并。这意味着 Databend 即将支持使用 Python 创建用户自定义函数。

CREATE FUNCTION [IF NOT EXISTS] <udf_name> (<arg_type>, ...) RETURNS <return_type> LANGUAGE <language> HANDLER=<handler> ADDRESS=<udf_server_address>

我们期望在这个 PR 的基础上提供对多种语言 UDF 的支持,JavaScript 可能是值得尝试的选项之一。

Issue #12746 | Feature: support javascript udf 

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

相关文章

Python 图形化界面基础篇:添加单选按钮( Radiobutton )到 Tkinter 窗口

Python 图形化界面基础篇&#xff1a;添加单选按钮&#xff08; Radiobutton &#xff09;到 Tkinter 窗口 引言什么是 Tkinter 单选按钮&#xff08; Radiobutton &#xff09;&#xff1f;步骤1&#xff1a;导入 Tkinter 模块步骤2&#xff1a;创建 Tkinter 窗口步骤3&#x…

蓝桥杯官网练习题(灌溉)

题目描述 小蓝负责花园的灌溉工作。 花园可以看成一个 n 行 m 列的方格图形。中间有一部分位置上安装有出水管。 小蓝可以控制一个按钮同时打开所有的出水管&#xff0c;打开时&#xff0c;有出水管的位置可以被认为已经灌溉好。 每经过一分钟&#xff0c;水就会向四面扩展…

2022年全国研究生数学建模竞赛华为杯C题汽车制造涂装-总装缓存调序区调度优化问题求解全过程文档及程序

2022年全国研究生数学建模竞赛华为杯 C题 汽车制造涂装-总装缓存调序区调度优化问题 原题再现&#xff1a; 背景介绍   汽车制造厂主要由焊装车间、涂装车间、总装车间构成&#xff0c;每个车间有不同的生产偏好&#xff0c;如&#xff1a;焊装车间由于车身夹具的限制偏向最…

【LeetCode与《代码随想录》】贪心算法篇:做题笔记与总结-JavaScript版

代码随想录 贪心的本质是选择每一阶段的局部最优&#xff0c;从而达到全局最优。 文章目录 455. 分发饼干376. 摆动序列53. 最大子数组和122. 买卖股票的最佳时机 II55. 跳跃游戏45. 跳跃游戏 II1005. K 次取反后最大化的数组和134. 加油站135. 分发糖果&#xff08;困难&#…

Fast-DDS 服务发现简要概述

阅读本文章需要对DDS基础概念有一些了解&#xff0c;一些内容来自Fast-DDS官方文档&#xff0c;一些是工作中踩过的坑。 1. 服务发现阶段 满足OMG标准的DDS服务发现分为两部分&#xff0c;分别是: PDP(Participant Discovery Protocol 参与者发现协议)&#xff1a;参与者确认…

三方检测-服务及服务器扫描问题及处理方案

文章目录 省流具体问题JAVA JMX相关JAVA JMX agent不安全的配置漏洞【原理扫描】详细描述解决办法 Java JMX 未授权访问漏洞【原理扫描】详细描述解决办法 Nginx相关nginx 缓冲区错误漏洞(CVE-2022-41741)详细描述解决方案 nginx 越界写入漏洞&#xff08;CVE-2022-41742&#…

【SpringMVC】JSR 303与拦截器注解使用

一、JSR 303 1.1 JSR 303介绍 JSR 303&#xff0c;它是Java EE&#xff08;现在称为Jakarta EE&#xff09;规范中的一部分。JSR 303定义了一种用于验证Java对象的标准规范&#xff0c;也称为Bean验证。 Bean验证是一种用于验证对象属性的框架&#xff0c;它可以确保对象符合特…

2023年法国CAC40指数研究报告

第一章 指数概况 1.1 指数基本情况 CAC 40指数&#xff0c;全名 Cotation Assiste en Continu (意为“连续辅助报价”)&#xff0c;是法国巴黎股票交易所的标志性股票指数&#xff0c;与德国DAX指数及英国富时100指数并列为欧洲三大指数。自1987年12月31日成立以来&#xff0…