2022 47 Open source weekly report
2022-11-13 11:44:28 Author: cloudsjhan.github.io(查看原文) 阅读量:6 收藏

发表于 | 分类于 | 阅读次数: |

| 字数统计: 561 | 阅读时长 ≈ 2

2022 NO.47 周报

自从 databend-go release 后,最近大部分时间都在与 Python 搏斗😂,太长时间没有正儿八经写 Python 了真是磨合了好几天才找到点感觉。
用了差不多两周,databend 的 Python Deiver databend-py 以及支持 SQLAlchemy 语法的 databend-sqlalchemy 已经基本可用。不得不说 Python 在数据的生态里还是王者,前几天有用户在使用 go driver 的时候遇到了一个 data type parser 的问题,之前在实现过程中就遇到过类似的类型问题,这种问题在强类型语言里简直就是灾难,但是对于 Python 来说就不存在。所以最后用户还是用了 Python 的 driver 解决了问题,看来后面要认真打磨 databend-py 了。

在使用方面也是 python 占优,pip install 然后 import 直接就是手到擒来:

1
pip install databend-py
1
2
3
4
5
6
7
from databend_py import Client
client = Client(
host='hostName',
database="default",
user="user",
password="pass")
print(client.execute("SELECT 1"))

不过 databend-py 仅是提供了 python 连接到 databend cloud 的桥梁,并不能像使用 ORM 工具一样使用 cursor.nextfetchall 等方法。在准备实现 dbt adapter 的时候发现需要依赖上面提到的 ORM 的方法,在 Python 生态里 SQLAlchemy 是 Python 中最有名的 ORM 工具,所以就有了 databend-sqlalchemy 这个项目。由于时间紧迫,先实现了对接 dbt 必须要用到的 cursor, description, next, fetch 方法,在 databend-py 的铺垫下,实现起来确实方便很多。

1
2
3
4
5
cursor = connector.connect('http://root:@localhost:8081').cursor()
cursor.execute('select 1')
# print(cursor.fetchone())
print(cursor.fetchall())
print(cursor.description)

几个字总结一下近期的状态就是:与 Python 搏斗,当然接下来可以预见的依然会跟 python 搏斗一段日子,因为最近要搞的 dbt adapter 是一个全新的, 陌生领域,完全就是一头雾水,所以接下来可能会先写几篇关于 dbt 的学习文章吧。

再就是最近开的 repo 有点多,加上实现的时间比较紧,感觉有些疲于应对,很多实现只能草草了事,估计 bug 会比较多,所以后面应该会多抽出一些个人的时间来完善这些项目。


-------------The End-------------

cloud sjhan wechat

subscribe to my blog by scanning my public wechat account

0%


文章来源: https://cloudsjhan.github.io/2022/11/13/2022-47-Open-source-weekly-report/
如有侵权请联系:admin#unsafe.sh