数据加载工具(dlt)— 开源Python数据加载库
无论是Google Colab笔记本、AWS Lambda函数、Airflow DAG、本地笔记本电脑,
还是GPT-4辅助开发环境—dlt都可以随处使用。
🚀 加入我们蓬勃发展的志同道合的开发者社区,共同打造未来!
安装
dlt支持Python 3.8+。
pip install dlt
更多选项:通过Conda或Pixi安装
快速开始
从chess.com API加载国际象棋游戏数据并保存到DuckDB:
import dlt
from dlt.sources.helpers import requests
# 创建一个dlt管道,用于将国际象棋玩家数据
# 加载到DuckDB目标
pipeline = dlt.pipeline(
pipeline_name='chess_pipeline',
destination='duckdb',
dataset_name='player_data'
)
# 从Chess.com API获取一些玩家数据
data = []
for player in ['magnuscarlsen', 'rpragchess']:
response = requests.get(f'https://api.chess.com/pub/player/{player}')
response.raise_for_status()
data.append(response.json())
# 提取、规范化并加载数据
pipeline.run(data, table_name='player')
在我们的**Colab演示**中尝试
特性
- **自动模式:**数据结构检查和目标模式创建。
- **数据规范化:**加载前进行一致性验证。
- **无缝集成:**适用于Colab、AWS Lambda、Airflow和本地环境。
- **可扩展:**适应生产环境中不断增长的数据需求。
- **易于维护:**清晰的数据管道结构便于更新。
- **快速探索:**快速探索并从新数据源获取洞察。
- **多用途:**适用于临时探索到高级加载基础设施。
- **CLI秒级启动:**强大的CLI用于管理、部署和检查本地管道。
- **增量加载:**仅加载新的或已更改的数据,避免重复加载旧记录。
- **开源:**免费且采用Apache 2.0许可证。
即用型数据源和目标
在已验证数据源文档中探索即用型数据源(如Google Sheets),在目标文档中了解支持的目标(如DuckDB)。
文档
有关详细用法和配置,请参阅官方文档。
示例
您可以在examples文件夹中找到各种用例的示例。
添加为依赖项
dlt
遵循语义化版本控制,使用MAJOR.MINOR.PATCH
模式。目前,我们正在使用预发布版本控制,主版本号为0。
minor
版本变更表示破坏性更改patch
版本变更表示应向后兼容的新功能- 任何后缀变更,如
post10
->post11
,都被视为补丁
我们建议您只允许自动更新patch
级别:
参与其中
dlt项目正在快速发展,我们很高兴您能加入我们的社区!以下是您可以参与的方式:
- 与社区联系:在我们的Slack上加入其他dlt用户和贡献者
- 报告问题和提出功能建议:请使用GitHub Issues报告错误或建议新功能。在创建新问题之前,请确保搜索跟踪器是否有可能的重复问题,如果找到,请添加评论。
- 跟踪我们的工作进展和计划:请查看我们的公共Github项目
- 贡献已验证的数据源:将您的自定义数据源贡献给dlt-hub/verified-sources,帮助其他人处理数据任务。
- 贡献代码:查看我们的贡献指南,了解如何提交拉取请求。
- 改进文档:帮助我们增强dlt文档。
许可证
dlt
采用Apache 2.0许可证发布。