后端 API
bagelquant-data 通过 Python API 操作。主要工作流是:
DataSourceRegistry
-> DataSource
-> DataLakeManager
-> LocalDataLake
-> Loader / lake.read / lake.read_panel_field
设置
from bagelquant_data.datasource import DataSourceRegistry, TushareDataSource
from bagelquant_data.lake import DataLakeManager, LocalDataLake
registry = DataSourceRegistry()
registry.register(TushareDataSource(token="your-token"))
lake = LocalDataLake(".bagelquant-data-lake")
manager = DataLakeManager(lake, registry=registry)
数据湖管理
LocalDataLake 负责文件系统存储。它在 source/table 分区下写入不可变 Parquet 快照,并维护 JSON catalog 指针。
manager.add("custom", "prices", frame)
manager.edit("custom", "prices", corrected_frame)
manager.delete("custom", "prices")
可以使用 LocalDataLake.read 直接读取后端表,也可以使用 read_panel_field 读取日期乘资产的 panel 字段。
Provider 更新
DataLakeManager.update 会执行一次 provider 读取并写入一个本地快照。Tushare 的生产式更新流程通常先刷新参考资源,再扫描待更新任务,最后执行确认后的 report。
Loader
Loader 提供 lake-first 读取:优先读本地快照,必要时再访问 provider,并返回带 lineage、calendar、universe 和字段元数据的标准结果。