Intake如何定义目录级参数并在所有数据源配置中复用
解决方案
Intake原生支持目录级全局参数,完全可以满足你提出的所有需求,配置方式如下:
# 顶层直接定义目录级参数,所有下属数据源均可直接使用 parameters: snapshot_date: type: str default: "latest" description: "数据快照日期,默认取最新版本" sources: data1: args: urlpath: "{{CATALOG_DIR}}/data/{{snapshot_date}}/data1.csv" description: '' driver: intake.source.csv.CSVSource metadata: {} data2: args: urlpath: "{{CATALOG_DIR}}/data/{{snapshot_date}}/data2.csv" description: '' driver: intake.source.csv.CSVSource metadata: {}
参数生效优先级从高到低为:
- 单个数据源调用时传入的参数值
intake.open_catalog初始化目录时传入的参数值- 目录级
parameters中定义的默认值 - 数据源级
parameters中定义的默认值
你描述的预期使用方式可以完全正常运行,不需要额外修改调用代码。
内容的提问来源于stack exchange,提问作者Mikhail Shevelev
相关产品推荐
相关产品推荐

