connector-x db数据快速加载到dataframe的库
connector-x db数据快速加载到dataframe的库,支持不少数据库的到dataframe 数据的写入
支持的数据库
- pg
- mysql
- mariadb
- sqlite
- redshift
- clickhouse
- sql server
- azure sql database
- oracle
- big query
目的
- pandas
- pyarrow
- modin
- dask
- polars
内部处理
- 内存轻量处理
基于了rust 了零拷贝原则
- 如何进行数据下载的
首先通过select * from lineitem limit 1 获取记录集的schema 然后如果分片信息指定了,会执行SELECT MIN(partition_on) FROM (SELECT * FROM lineitem 获取分片的范围,之后原始查询会拆分为不同的查询(基于最大,最小),比如SELECT * FROM (SELECT * FROM lineitem) WHERE partition_on < 10000,之后获取分片数量SELECT COUNT(*) FROM (SELECT * FROM lineitem) WHERE partition_on < 10000, 如果分片信息没有制定,会指定SELECT COUNT(*) FROM (SELECT * FROM lineitem) 最后ConnectorX 会集合schema 信息以及查询的数量进行内存分配以及执行正常的查询 当下载开始的时候,会基于分片创建对应的线程数量,所以数据处理是并行的,每个线程会获取数据库特定的数据,然后通过流模式写入到列或者行模式的目的中
说明
官方还提供了一个不错的论文值得看看,可以更好的了解connector-x 的内部处理
参考资料
https://github.com/sfu-db/connector-x
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· .NET10 - 预览版1新功能体验(一)
2023-12-02 cerbos hub 流程参考
2023-12-02 cerbos webassebly 集成简单说明
2020-12-02 johnfercher/maroto fork 版本几个bug 的修复
2020-12-02 johnfercher/maroto 不错的pdf golang pdf 生成工具包
2020-12-02 jung-kurt/gofpdf pdf 生成操作
2020-12-02 griddb 4.5 体验
2020-12-02 griddb 4.5 社区版新特性