OutputFileDatasetConfig 类

表示如何复制运行的输出并将其升级为 FileDataset。

可使用 OutputFileDatasetConfig 指定将计算目标上的特定本地路径上传到指定目标的方式。 如果未将任何参数传递给构造函数,将自动生成名称、目标和本地路径。

未传递任何参数的示例:


   workspace = Workspace.from_config()
   experiment = Experiment(workspace, 'output_example')

   output = OutputFileDatasetConfig()

   script_run_config = ScriptRunConfig('.', 'train.py', arguments=[output])

   run = experiment.submit(script_run_config)
   print(run)

创建输出并将其升级到表格数据集,然后使用名称 foo 进行注册的示例:


   workspace = Workspace.from_config()
   experiment = Experiment(workspace, 'output_example')

   datastore = Datastore(workspace, 'example_adls_gen2_datastore')

   # for more information on the parameters and methods, please look for the corresponding documentation.
   output = OutputFileDatasetConfig().read_delimited_files().register_on_complete('foo')

   script_run_config = ScriptRunConfig('.', 'train.py', arguments=[output])

   run = experiment.submit(script_run_config)
   print(run)

初始化 OutputFileDatasetConfig。

可使用 OutputFileDatasetConfig 指定将计算目标上的特定本地路径上传到指定目标的方式。 如果未将任何参数传递给构造函数,将自动生成名称、目标和本地路径。

未传递任何参数的示例:


   workspace = Workspace.from_config()
   experiment = Experiment(workspace, 'output_example')

   output = OutputFileDatasetConfig()

   script_run_config = ScriptRunConfig('.', 'train.py', arguments=[output])

   run = experiment.submit(script_run_config)
   print(run)

创建输出并将其升级到表格数据集,然后使用名称 foo 进行注册的示例:


   workspace = Workspace.from_config()
   experiment = Experiment(workspace, 'output_example')

   datastore = Datastore(workspace, 'example_adls_gen2_datastore')

   # for more information on the parameters and methods, please look for the corresponding documentation.
   output = OutputFileDatasetConfig().read_delimited_files().register_on_complete('foo')

   script_run_config = ScriptRunConfig('.', 'train.py', arguments=[output])

   run = experiment.submit(script_run_config)
   print(run)
继承
OutputFileDatasetConfig
OutputFileDatasetConfig

构造函数

OutputFileDatasetConfig(name=None, destination=None, source=None, partition_format=None)

参数

名称 说明
name
必需
str

特定于此运行的输出的名称。 这通常用于世系目的。 如果设置为“None”,将自动生成名称。 该名称还将成为一个包含本地路径的环境变量,可向该路径写入将上传到目标的输出文件和文件夹。

destination
必需

要将输出复制到其中的目标。 如果设置为“None”,则将输出复制到路径 /dataset/{run-id}/{output-name} 下的 workspaceblobstore 数据存储,其中 run-id 是运行 ID,output-name 是上述 name 参数的输出名称。 目标是一个元组,其中第一项是数据存储,第二项是要将数据复制到其中的数据存储中的路径。

数据存储中的路径可以是模板路径。 模板路径只是一个常规路径,但其中包含占位符。 然后,将在适当的时间解析这些占位符。 占位符的语法为 {placeholder},例如 /path/with/{placeholder}。 目前仅支持两个占位符:{run-id} 和 {output-name}。

source
必需
str

要从中复制数据的计算目标内的路径。 如果设置为“None”,则将其设置为在计算目标的 OS 临时目录内创建的目录。

partition_format
必需
str

指定路径的分区格式。 默认值为“None”。 将会基于指定的格式将每个路径的分区信息提取到列中。 格式部分“{column_name}”创建字符串列,“{column_name:yyyy/MM/dd/HH/mm/ss}”创建日期/时间列,其中“yyyy”、“MM”、“dd”、“HH”、“mm”和“ss”分别用于提取日期/时间类型的年、月、日、小时、分钟和秒。 格式应从文件路径结束之前的第一个分区键位置开始。 例如,给定路径“../Accounts/2019/01/01/data.parquet”,其中分区是按部门名称和时间划分的;partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.parquet' 创建值为“Accounts”的字符串列“Department”和值为“2019-01-01”的日期/时间列“PartitionDate”。

name
必需
str

特定于此运行的输出的名称。 这通常用于世系目的。 如果设置为“None”,将自动生成名称。 该名称还将成为一个包含本地路径的环境变量,可向该路径写入将上传到目标的输出文件和文件夹。

destination
必需

要将输出复制到其中的目标。 如果设置为“None”,则将输出复制到路径 /dataset/{run-id}/{output-name} 下的 workspaceblobstore 数据存储,其中 run-id 是运行 ID,output-name 是上述 name 参数的输出名称。 目标是一个元组,其中第一项是数据存储,第二项是要将数据复制到其中的数据存储中的路径。

数据存储中的路径可以是模板路径。 模板路径只是一个常规路径,但其中包含占位符。 然后,将在适当的时间解析这些占位符。 占位符的语法为 {placeholder},例如 /path/with/{placeholder}。 目前仅支持两个占位符:{run-id} 和 {output-name}。

source
必需
str

要从中复制数据的计算目标内的路径。 如果设置为“None”,则将其设置为在计算目标的 OS 临时目录内创建的目录。

partition_format
必需
str

指定路径的分区格式。 默认值为“None”。 将会基于指定的格式将每个路径的分区信息提取到列中。 格式部分“{column_name}”创建字符串列,“{column_name:yyyy/MM/dd/HH/mm/ss}”创建日期/时间列,其中“yyyy”、“MM”、“dd”、“HH”、“mm”和“ss”分别用于提取日期/时间类型的年、月、日、小时、分钟和秒。 格式应从文件路径结束之前的第一个分区键位置开始。 例如,给定路径“../Accounts/2019/01/01/data.parquet”,其中分区是按部门名称和时间划分的;partition_format='/{Department}/{PartitionDate:yyyy/MM/dd}/data.parquet' 创建值为“Accounts”的字符串列“Department”和值为“2019-01-01”的日期/时间列“PartitionDate”。

注解

可以将 OutputFileDatasetConfig 作为参数传递到运行,并且它将自动转换为计算上的本地路径。 如果指定了 source 参数,则将使用该参数,否则将在 OS 的 temp 文件夹中自动生成一个目录。 然后会根据输出配置将源目录中的文件和文件夹复制到目标。

默认情况下,将输出复制到目标存储时所用的模式将设置为装载。 有关装载模式的详细信息,请参阅文档中的 as_mount。

方法

as_input

指定如何在后续管道步骤中将输出用作输入。

as_mount

将输出的模式设置为装载。

对于装载模式,输出目录将是装载 FUSE 的目录。 当文件关闭时,将上传写入已装载目录的文件。

as_upload

将输出模式设置为上传。

对于上传模式,写入到输出目录的文件将在作业结束时上传。 如果作业失败或被取消,将不会上传输出目录。

as_input

指定如何在后续管道步骤中将输出用作输入。

as_input(name=None)

参数

名称 说明
name
必需
str

特定于运行的输入的名称。

返回

类型 说明

描述如何传递输入数据的 DatasetConsumptionConfig 实例。

as_mount

将输出的模式设置为装载。

对于装载模式,输出目录将是装载 FUSE 的目录。 当文件关闭时,将上传写入已装载目录的文件。

as_mount(disable_metadata_cache=False)

参数

名称 说明
disable_metadata_cache
必需

是否在本地节点中缓存元数据,如果已禁用,节点将无法查看作业运行期间从其他节点生成的文件。

返回

类型 说明

模式设置为装载的 OutputFileDatasetConfig 实例。

as_upload

将输出模式设置为上传。

对于上传模式,写入到输出目录的文件将在作业结束时上传。 如果作业失败或被取消,将不会上传输出目录。

as_upload(overwrite=False, source_globs=None)

参数

名称 说明
overwrite
必需

是否覆盖目标中已存在的文件。

source_globs
必需

用于筛选将要上传的文件的 Glob 模式。

返回

类型 说明

模式设置为上传的 OutputFileDatasetConfig 实例。