在 GitHub 上编辑
依赖项
依赖项
.dvc
文件
你可以使用 dvc add
来跟踪位于当前 工作区* 中的数据文件或目录。此外,dvc import
和 dvc import-url
可以将来自外部位置的数据引入项目,并在本地开始对其进行跟踪。更多信息请参见 数据版本控制。
以 .dvc
扩展名结尾的文件(“点 DVC 文件”)由这些命令创建,作为可被 Git 版本化的数据占位符。它们包含随时间跟踪目标数据所需的信息。示例如下:
outs:
- md5: a304afb96060aad90176268345e10355
path: data.xml
desc: Cats and dogs dataset
remote: myremote
这些文件采用 YAML 1.2 文件格式,并遵循下文所述的人类友好型结构。我们鼓励你熟悉该结构,以便可以自行修改、编写或生成 .dvc
文件。
另请参阅 如何解决合并冲突。
规范
以下是 .dvc
文件结构根级别支持的字段:
字段 | 描述 |
---|---|
outs | (必需)表示通过 DVC 跟踪的文件或目录的 输出条目 列表(详见下文)。通常只有一个条目(但可以手动添加或合并多个)。 |
deps | 依赖项条目 的列表(详见下文)。仅当使用 dvc import 或 dvc import-url 生成此 .dvc 文件时存在。通常只有一个条目(但可以手动添加多个)。 |
wdir | outs 和 deps 路径的工作目录(相对于 .dvc 文件的位置)。默认值为 . (即文件所在位置)。 |
md5 | (仅适用于 导入).dvc 文件本身的 MD5 哈希值。 |
可使用 # 注释
格式添加注释。
输出条目
以下子字段可能出现在 outs
条目中:
字段 | 描述 |
---|---|
path | (必需)文件或目录的路径(相对于 wdir ,默认为文件所在位置) |
hash | 使用 DVC 跟踪的文件或目录的哈希算法(目前仅支持 md5 )。 |
md5 etag checksum | 使用 DVC 跟踪的文件或目录的哈希值。大多数位置(本地文件系统和 SSH)使用 MD5;HTTP、S3 或 Azure 外部输出 使用 ETag;HDFS 和 WebHDFS 使用特殊的 checksum。 |
version_id | 云服务商原生的版本 ID。如果启用了 云版本控制,则用于跟踪云中的每个文件。 |
size | 文件或目录的大小(所有文件之和) |
nfiles | 如果该输出是目录,则为其中的文件数量(递归统计)。 |
isexec | 该文件是否为可执行文件。DVC 在执行 dvc checkout 和 dvc pull 时会保留执行权限。此字段对目录无效,通常在 Windows 系统上也无影响。 |
cache | 该文件或目录是否被 缓存(默认为 true )。参见 dvc add 的 --no-commit 选项。 |
remote | 用于推送/获取的远程仓库名称 |
persist | 在运行 dvc repro 时,输出文件/目录是否应保留在原位(默认为 false :在 dvc repro 开始时会删除输出) |
push | 此前已缓存的此文件或目录是否由 dvc push 上传到远程存储(默认为 true )。 |
依赖项条目
以下子字段可能出现在 deps
条目下:
字段 | 描述 |
---|---|
path | (必需)依赖项的路径(相对于 wdir ,默认为该文件所在位置) |
hash | 使用 DVC 跟踪的文件或目录的哈希算法(目前仅支持 md5 )。 |
md5 etag checksum | 仅在使用 dvc import-url 创建的外部依赖项中存在:导入文件或目录的哈希值。本地路径和 SSH 使用 MD5;HTTP、S3、GCS 和 Azure 使用 ETag;HDFS 和 WebHDFS 使用特殊的校验和(checksum)。 |
size | 文件或目录的大小(所有文件大小之和)。 |
nfiles | 如果此依赖项是目录,则为其中包含的文件数量(递归统计)。 |
repo | 仅在使用 dvc import 创建的外部依赖项中存在:可包含 url 、rev 、rev_lock 、config 和 remote (详见下文)。 |
db | 仅在使用 dvc import-db 创建的数据库依赖项中存在:可包含 connection 、file_format 、query 和 table (详见下文)。 |
依赖项 repo
子字段:
字段 | 描述 |
---|---|
url | 包含源 DVC 项目的 Git 仓库 URL |
rev | 仅当使用 dvc import --rev 时存在:用于导入依赖项的特定提交哈希、分支或标签名称等(一个 Git 版本)。 |
rev_lock | 在导入或更新依赖项(使用 dvc update )时,外部DVC 仓库的 Git 提交哈希。 |
config | 当使用 dvc import --config 时:指向一个配置文件的路径,该文件将与目标仓库中的配置合并。当同时使用 --remote 和 --remote-config 时:将与目标仓库中默认远程配置合并的配置选项。参见 dvc import 中的示例部分。 |
remote | 仅当使用 dvc import --remote 或 --remote-config 时存在:要设为默认的dvc remote 名称,或将与目标仓库中默认远程配置合并的远程配置选项。参见 dvc import 中的示例部分。 |
依赖项 db
子字段:
字段 | 描述 |
---|---|
connection | 要使用的连接名称。必须先在配置中设置该连接。参见 数据库连接。 |
query | 要快照的 SQL 查询。仅当在 dvc import-db 上使用了 --sql 选项时才会设置。dvc update 将使用此字段重新导入。 |
table | 要快照的数据库表名。仅当在 dvc import-db 上使用了 --table 选项时才会设置。dvc update 将使用此字段重新导入。 |
file_format | 要使用的导出格式。目前可以设置为 csv 或 json 。 |