다음을 통해 공유


루프에서 매개 변수화 Azure Databricks 작업 태스크 실행

이 문서에서는 작업 UI에서 태스크를 추가하고 구성하는 방법에 대한 세부 정보를 포함하여 Azure Databricks 작업에서 For each 태스크를 사용하는 방법을 설명합니다. For each 태스크를 통해 태스크를 루프에서 실행하여 태스크의 각 반복에 다른 매개 변수 집합을 전달합니다.

작업에 For each 태스크를 추가하려면 For each 태스크와 중첩된 태스크라는 두 가지 태스크를 정의해야 합니다. 중첩된 태스크는 For each 태스크의 각 반복에 대해 실행할 태스크이며 표준 Azure Databricks 작업 태스크 유형 중 하나입니다. 다른 For each 태스크를 중첩된 태스크로 추가할 수 없습니다.

예를 들어 For each 태스크를 사용하여 여러 테이블에서 일반적인 변환 집합을 수행하여 테이블 이름 목록에서 태스크의 각 반복에 테이블 이름을 전달할 수 있습니다.

For each 태스크에 사용할 수 있는 매개 변수 형식은 무엇인가요?

For each 태스크에서 매개 변수를 전달하기 위해 다음을 수행할 수 있습니다.

For each 태스크를 추가하거나 편집할 때 이러한 다양한 매개 변수 형식을 사용하는 방법을 알아보려면 작업에 For each 태스크 추가 섹션을 참조하세요.

작업에 For each 태스크 추가

작업을 만들거나 기존 작업에서 태스크를 편집할 때 For each 태스크를 추가할 수 있습니다. For each 태스크를 구성하려면 다음을 수행합니다.

  1. 형식 드롭다운 메뉴에서 각각에 대해를 선택합니다.

  2. 태스크 이름 필드에 태스크의 이름을 입력합니다.

  3. 입력 텍스트 상자에서 반복할 For each 태스크의 값을 정의합니다. 다음 중 하나가 될 수 있습니다.

    • JSON 형식의 값 배열. 다음 데이터 형식의 배열일 수 있습니다.

      • 키-값 쌍
      • 문자열, 숫자 또는 부울 형식
      • 임의의 복잡한 JSON 개체
    • 태스크 값 참조 이전 작업에서 전달된 태스크 값을 참조하려면 {{tasks.<task_name>.values.<task_value_name>}} 구문을 사용하여 입력 텍스트 상자에 값을 설정합니다. 예를 들면 For each 태스크 앞의 generate_countries_list 태스크가 다음 태스크 값을 설정하는 경우입니다.

      dbutils.jobs.taskValues.set(key = "countries", value = countries_array)

      그런 다음, For each 태스크는 다음 구문을 사용하여 입력 텍스트 상자의 태스크 값을 참조합니다.

      {{tasks.generate_countries_list.values.countries}};

    • 작업 매개 변수. 작업 매개 변수를 참조하려면 입력 텍스트 상자에 {{job.parameters.<name>}} 구문을 사용합니다. 예들 들어 {{job.parameters.countries}}입니다.

  4. 필요에 따라 병렬로 실행할 수 있는 반복 횟수를 설정하려면 태스크에 대한 동시성 값을 입력합니다. 기본값은 1입니다.

  5. 필요에 따라 태스크 시작, 성공 또는 실패에 대한 알림을 받으려면 + 추가를 클릭합니다. 작업 이벤트에 대한 이메일 및 시스템 알림 추가를 참조하세요.

  6. For each 태스크의 구성을 완료하고 각 반복에 대해 실행할 중첩된 태스크를 추가하려면 반복할 작업 추가를 클릭합니다.

  7. 중첩된 태스크에 대한 태스크 유형 및 구성 옵션을 선택합니다. 중첩된 태스크는 표준 태스크 유형이며 구성 옵션이 동일합니다. Databricks 태스크 구성 및 편집을 참조하세요.

  8. For each 태스크에서 전달된 매개 변수를 참조하려면 매개 변수를 클릭합니다. {{input}} 참조를 사용하여 값을 각 반복의 배열 값으로 설정하거나 개체 목록을 반복할 때 {{input.<key>}}를 사용하여 개별 개체 필드를 참조할 수 있습니다.

    For each 태스크에 중첩된 태스크 추가

  9. 작업 만들기를 클릭합니다.

For each 태스크 및 중첩된 태스크 간 전환

For each 태스크는 For each 노드 내에 중첩된 태스크 노드가 있는 노드로 작업 UI에 나타납니다. For each 태스크 및 중첩된 태스크 간에 전환하려면 해당 노드를 클릭합니다.

For each 태스크로 작업 UI DAG 보기 전환

중첩된 태스크로 작업 UI DAG 보기 전환

다운스트림 태스크에서 For each 태스크 참조

For each 태스크는 최상위 태스크이며 다운스트림 태스크는 이를 종속성으로 지정할 수 있습니다. 다운스트림 태스크는 중첩된 태스크에 의존하거나 참조할 수 없습니다.

For each 태스크를 사용하여 작업 실행 및 모니터링

For each 태스크를 사용한 작업 실행은 다른 작업 실행과 동일합니다.

작업 실행 보기 및 관리는 태스크 반복의 테이블로 표시되는 For each 태스크에 대한 태스크 실행 기록을 제외하고 다른 작업과도 동일합니다. For each 태스크에 대한 태스크 실행 기록 보기를 참조하세요.