在 GitHub 上编辑

.dvc 文件

你可以使用 dvc add 来跟踪位于当前 工作区* 中的数据文件或目录。此外,dvc importdvc 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 importdvc import-url 生成此 .dvc 文件时存在。通常只有一个条目(但可以手动添加多个)。
wdiroutsdeps 路径的工作目录(相对于 .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 checkoutdvc 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 创建的外部依赖项中存在:可包含 urlrevrev_lockconfigremote(详见下文)。
db仅在使用 dvc import-db 创建的数据库依赖项中存在:可包含 connectionfile_formatquerytable(详见下文)。

依赖项 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要使用的导出格式。目前可以设置为 csvjson
内容

🐛 发现问题?告诉我们!或者修复它:

在 GitHub 上编辑

有疑问?加入我们的聊天,我们会为您提供帮助:

Discord 聊天