批处理任务可以读取文件共享上的文件吗?

时间:2017-10-09 23:26:37

标签: python azure-batch

我有一个文件共享(你猜对了)很多文件。我想创建一个批处理作业,它安装此文件共享并读取每个文件并并行处理每个文件(每个作为批处理任务)。

这可能与python和azure批次有关吗?任何教程展示如何做到这一点都会很棒。

1 个答案:

答案 0 :(得分:0)

您可以通过以下两种方式之一完成此操作。请注意,以下内容仅适用于Linux。 Windows用户需要使用User Identities稍微不同的方法。

  1. 使用池的StartTask对象在计算节点级别挂载文件共享。请参阅Azure File documentation,了解如何为Linux上的发行版执行此操作。启动任务可以是:
    • 直接挂载文件共享,即调用mount -t cifs ...。这将在重新启动时起作用,因为每次重启时都会重新运行StartTask。
    • 修改/etc/fstab以向automount添加条目。请注意,必须使此操作具有幂等性,因为每次重新启动时都会重新运行StartTask。
  2. 使用作业的JobPreparationTask对象在作业级别挂载文件共享。您在此处指定的命令仅对作业下的每个任务运行一次。您可能还应该指定作业的JobReleaseTaskunmount共享以进行清理。
  3. 确保在您选择的任何路径中,为任务(通常是超级用户)提供适当的提升权限,以便流程可以执行装载或修改/etc/fstab

    如果使用第一个选项,则无论是否在该节点上运行需要它的作业,安装都将一直可用于计算节点。每种方法都有优点和缺点。您的要求,无论是合规性还是技术性(例如)都可以帮助您选择。