Daft s3 集成试用

daft 支持不少存储数据的访问,以下是关于s3的一个简单试用

环境准备

  • docker-compose
services:
  minio:
    image: minio/minio
    command: server /data --console-address ":9001"
    ports:
      - 9000:9000
      - 9001:9001
    environment:
      MINIO_ACCESS_KEY: minio
      MINIO_SECRET_KEY: minio123

代码集成

  • app.py
import daft
from daft.io import IOConfig, S3Config

from daft.sql import SQLCatalog

# 此处基于了IOConfig自定义s3 io 配置
io_config = IOConfig(s3=S3Config(key_id="minio",region_name="us-east-1",access_key="minio123", endpoint_url="http://localhost:9000",num_tries=10))

df = daft.read_csv("s3://demo/demo.csv",io_config=io_config)

# 通过SQLCatalog 配置catalog 信息
sql_catalog = SQLCatalog({"mydemo":df})
# 基于sql 查询
result_df = daft.sql("SELECT * FROM mydemo where age>22",catalog=sql_catalog)

print(result_df.collect())
  • 效果

image

说明

daft 提供的不少能力实际与duckdb 是类似的,但是相比duckdb 来说有多了集群能力,当前sql 能力暂时还不如duckdb 强大,但是值得学习试用下

参考资料

https://github.com/Eventual-Inc/Daft

https://www.getdaft.io/

https://15721.courses.cs.cmu.edu/spring2024/slides/

https://justinjaffray.com/query-engines-push-vs.-pull/

https://arxiv.org/pdf/1610.09166

posted on   荣锋亮  阅读(6)  评论(0编辑  收藏  举报

相关博文:
阅读排行:
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
历史上的今天:
2024-02-01 dremio vectorized Parquet Reader v2 支持
2024-02-01 nginx-go-crossplane nginx 配置解析包试用
2023-02-01 mtools mongo 日志分析的利器
2023-02-01 nginx agent 来自官方的nginx 配置管理&监控方案
2022-02-01 Building a Sync Engin
2022-02-01 grouparoo 基于nodejs 的开源反向ETL 工具
2022-02-01 Castled 源码解析 - container 模块说明

导航

< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5
点击右上角即可分享
微信分享提示