博客
Databend 开源周报第 110 期
Databend Labs9月 11, 2023
英文版移步:https://www.databend.com/blog/2023-09-10-databend-weekly
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 │
└─────────────────────────────────────────────────────────┘
如果您想了解更多信息,请查看下面列出的资源。
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()