2017-10-09 6 views
0

나는 많은 파일을 (당신이 추측 한) 파일 공유를 가지고 있습니다. 이 파일 공유를 마운트하고 각 파일을 읽고 일괄 작업으로 각각을 처리하는 배치 작업을 만들고 싶습니다.일괄 작업이 파일 공유의 파일을 읽을 수 있습니까?

파이썬과 하늘빛 배치에서 가능한가요? 이 작업을 수행하는 방법을 보여주는 튜토리얼은 훌륭합니다.

+0

Azure 파일 공유 및 어떤 운영 체제/플랫폼을 탑재하려고하는지 명확히 할 수 있습니까? – fpark

+0

OS는 우분투이고 예, 하늘빛 배치로 만든 VM/노드는 파일 공유를 마운트해야합니다. – pookie

+0

Azure로 파일 공유 나는 [Azure File Storage] (https://azure.microsoft.com/en-us/services/storage/files/)를 적절하게 의미합니다. 이거 장착 했니? – fpark

답변

0

두 가지 방법 중 하나로이 작업을 수행 할 수 있습니다. 다음은 Linux에만 적용됩니다. Windows 사용자는 User Identities을 사용하여 약간 다른 방법을 따라야합니다.

  1. 풀의 StartTask 개체를 사용하여 계산 노드 수준에서 파일 공유를 탑재하십시오. Linux의 배포판에서이 작업을 수행하는 방법은 Azure File documentation을 참조하십시오. 시작 작업은 다음 중 하나 일 수 있습니다.
    • 파일 공유를 직접 마운트하십시오 (예 : mount -t cifs ...). 재부팅 할 때마다 StartTask가 다시 실행되므로 재부팅을 통해 작동합니다.
    • /etc/fstab을 수정하여 automount에 항목을 추가하십시오. 재부팅 할 때마다 StartTask가 다시 실행될 때마다이 작업을 멱등 원으로 만들어야합니다.
  2. 작업의 JobPreparationTask 개체를 사용하여 작업 수준에서 파일 공유를 탑재하십시오. 여기서 지정한 명령은 작업의 모든 작업에 대해 한 번만 실행됩니다. 또한 작업의 JobReleaseTask ~ unmount을 정리 정리로 지정해야합니다.

임의의 경로에서 프로세스가 마운트 또는 수정을 수행 할 수 있도록 해당 권한 상승 권한 (보통 수퍼 유저)이 부여되었는지 확인하십시오. /etc/fstab.

첫 번째 옵션을 사용하면 해당 노드에서 필요로하는 작업이 해당 노드에서 실행되는지 여부와 상관없이 항상 계산 노드에 마운트를 사용할 수 있습니다. 각 접근법에는 장단점이 있습니다. 요구 사항, 준수 여부 또는 기술 (예 : 선택 사항)을 선택해야합니다.

+0

좋아요, 그렇다면 파일 공유는 어디에 마운트 될까요? 예를 들어, linux 명령을 사용하여'/ home/mounts/data'에 마운트하라고 명령 한 경우 FS가'data'에 마운트됩니까? – pookie

+0

배치 계산 노드는 탑재 명령을 변경/차단하지 않습니다. 대화 형으로 제공하는 것처럼 시스템에서 실행됩니다. 대상 디렉토리가 존재하는 한, 마운트 디렉토리가 존재하지 않는 한, 마운트하기 전에 먼저'mkdir '해야합니다. 마운트가 작동해야합니다. [알려진 컴퓨 트 노드 위치] (https://docs.microsoft.com/en-us/azure/batch/batch-compute-node-environment-variables#command-line-expansion-of-environment)에 마운트를 조사해야합니다. -variables) (예 :'$ AZ_BATCH_NODE_SHARED_DIR/data')를 사용하면 위치를 하드 코딩하는 대신 작업에 도움이 될 수 있습니다. – fpark

+0

감사합니다.'$ AZ_BATCH_NODE_SHARED_DIR'을 사용하는 것이 좋습니다. 나는 그것을 시도 할 것이다. – pookie