批处理任务可以读取文件共享上的文件吗?
Can a batch task read files on a file share?
我有一个文件共享(您猜对了)很多文件。我想创建一个批处理作业来装载此文件共享并读取每个文件并并行处理每个文件(每个都作为批处理任务)。
这可能与 python 和天蓝色批处理有关吗?任何展示如何执行此操作的教程都会很棒。
您可以通过以下两种方式之一完成此操作。请注意,以下仅适用于 Linux。 Windows 用户需要使用 User Identities.
来遵循稍微不同的方法
- 使用池的 StartTask object. Please see the Azure File documentation 在计算节点级别安装文件共享,了解如何为 Linux 上的发行版执行此操作。启动任务可以:
- 直接挂载文件共享,即调用
mount -t cifs ...
。这将通过重新启动工作,因为每次重新启动时 StartTask 都会重新运行。
- 修改
/etc/fstab
以添加一个条目到automount。请注意,您必须使此操作幂等,因为每次重新启动时 StartTask 都会重新运行。
- 使用作业的 JobPreparationTask object. The command you specify here will only run once for every task under the job. You should probably also specify the job's JobReleaseTask 在作业级别安装文件共享到
unmount
用于清理的共享。
确保在您选择的任何路径中,为任务(通常是超级用户)赋予适当的提升权限,以便进程可以执行装载或修改 /etc/fstab
。
如果您选择第一个选项,则挂载将始终对计算节点可用,无论是否需要它的作业是否在该节点上 运行。每种方法都有优点和缺点。您的要求,无论是合规性还是技术(例如),应该可以帮助您做出选择。
我有一个文件共享(您猜对了)很多文件。我想创建一个批处理作业来装载此文件共享并读取每个文件并并行处理每个文件(每个都作为批处理任务)。
这可能与 python 和天蓝色批处理有关吗?任何展示如何执行此操作的教程都会很棒。
您可以通过以下两种方式之一完成此操作。请注意,以下仅适用于 Linux。 Windows 用户需要使用 User Identities.
来遵循稍微不同的方法- 使用池的 StartTask object. Please see the Azure File documentation 在计算节点级别安装文件共享,了解如何为 Linux 上的发行版执行此操作。启动任务可以:
- 直接挂载文件共享,即调用
mount -t cifs ...
。这将通过重新启动工作,因为每次重新启动时 StartTask 都会重新运行。 - 修改
/etc/fstab
以添加一个条目到automount。请注意,您必须使此操作幂等,因为每次重新启动时 StartTask 都会重新运行。
- 直接挂载文件共享,即调用
- 使用作业的 JobPreparationTask object. The command you specify here will only run once for every task under the job. You should probably also specify the job's JobReleaseTask 在作业级别安装文件共享到
unmount
用于清理的共享。
确保在您选择的任何路径中,为任务(通常是超级用户)赋予适当的提升权限,以便进程可以执行装载或修改 /etc/fstab
。
如果您选择第一个选项,则挂载将始终对计算节点可用,无论是否需要它的作业是否在该节点上 运行。每种方法都有优点和缺点。您的要求,无论是合规性还是技术(例如),应该可以帮助您做出选择。