Intake插件,用于指定表示多个不同条目的文件路径模式
项目描述
Intake Pattern Catalog
intake-pattern-catalog是Intake的一个插件,允许您指定一个文件路径模式,它可以代表多个不同的条目。
请注意,这与您可以使用csv驱动程序编写的模式不同,这些模式会被转换成单个条目
安装说明
pip install intake-pattern-catalog
# or
conda install intake-pattern-catalog
用法
使用driver: pattern_cat
在您的目录中使用此驱动程序。
考虑以下S3存储桶中的文件列表
- bucket-name/folder/a_1.csv
- bucket-name/folder/b_1.csv
- bucket-name/folder/c_1.csv
- bucket-name/folder/a_2.csv
- bucket-name/folder/b_2.csv
以及以下目录定义yaml文件
---
metadata:
version: 1
sources:
stuff:
description: Stuff and things
driver: pattern_cat
args:
urlpath: "s3://bucket-name/folder/{foo}_{bar}.csv"
driver: csv
派生数据集
如果您想根据pattern_cat
数据集创建派生数据集,您可以使用driver: pattern_cat_transform
,它将对get_entry
返回的每个条目应用转换函数。例如,您可以在上述yaml文件中添加以下内容
stuff_transformed:
description: Everything in stuff, doubled
driver: pattern_cat_transform
args:
targets:
- stuff
transform: "path.to.doubling_function"
目录API
通过kwargs访问条目
> catalog.stuff.get_entry(foo='a', bar=1)
sources:
foo_a_bar_1:
args:
storage_options:
use_listings_cache: false
urlpath: s3://bucket-name/folder/a_1.csv
description: ''
driver: intake.source.csv.CSVSource
metadata:
catalog_dir: ...
请注意,这也可以通过catalog.stuff.foo_a_bar_1
访问
查看所有有效的kwargs组合
> catalog.stuff.get_entry_kwarg_sets()
[
{"foo": "a", "bar": "1"},
{"foo": "b", "bar": "1"},
{"foo": "c", "bar": "1"},
{"foo": "a", "bar": "2"},
{"foo": "b", "bar": "2"},
]
缓存
使用模式目录控制缓存的默认方式是使用ttl
(秒),这是在args
下的一个可选值,用于指定在获取到匹配模式的文件列表之后等待多长时间再次加载它们。默认的ttl
是60秒。如果您想强制它始终获取最新列表,请将ttl
设置为0。
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪一个,请了解更多关于安装包的信息。
源分布
intake-pattern-catalog-2023.3.0.tar.gz (26.0 kB 查看哈希值)
构建分布
关闭
哈希值 for intake_pattern_catalog-2023.3.0-py3-none-any.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 44a53804f53effca3903b123a7f37fbf9e606765a5ac1fa23e76f7f2c5f0b2f7 |
|
MD5 | fc87cd095e95af1a375144e818d869b4 |
|
BLAKE2b-256 | d779c597f749849ced821784848a23c95f5565819cb8a4b3ebcc29a93804a42b |