다음을 통해 공유


For each 작업을 사용하여 루프에서 다른 작업 실행

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

For each 작업에 작업을 추가하려면 두 가지 작업, 즉 For each 작업과 중첩된 작업을 정의해야 합니다. 중첩된 작업은 작업의 각 반복 For each 에 대해 실행할 작업이며 표준 Lakeflow 작업 작업 유형 중 하나입니다. 다른 For each 작업을 중첩된 작업으로 추가할 수 없습니다.

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

서로 종속성이 없는 중첩된 작업은 동시에 실행할 수 있습니다.

For each 작업을 작업에 추가

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

  1. 작업 추가를 클릭합니다.

  2. 작업 이름 필드에 이름을 입력합니다.

  3. 유형 드롭다운 메뉴에서 각각에 대해 선택합니다.

  4. 작업 이름 필드에 작업의 이름을 입력합니다.

  5. 입력 텍스트 상자에서 반복할 작업의 값을 For each JSON 형식의 값 배열로 정의합니다. 중첩된 작업에 매개 변수를 전달하는 방법에 대한 자세한 내용은 작업에 사용할 수 있는 매개 변수 형식을 For each참조하세요.

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

  7. 필요에 따라 작업 시작, 성공 또는 실패에 대한 알림을 받으려면 + 추가를 클릭합니다. 작업에 알림 추가하기 을 참조하세요.

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

  9. 중첩된 작업에 대한 작업 유형 및 구성 옵션을 선택합니다. 중첩된 작업은 표준 작업 유형이며 구성 옵션이 동일합니다. Lakeflow 작업에서 작업 구성 및 편집을 참조하세요.

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

    각 태스크에 중첩 작업 추가

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

작업과 중첩된 작업 간 For each 전환

작업은 For each 작업 인터페이스에 For each 중첩된 작업 노드가 포함된 노드로 나타납니다. 작업과 중첩된 작업 간에 For each 전환하려면 해당 노드를 클릭합니다.

작업 UI DAG 보기를 각 작업별로 전환

작업 UI DAG 보기를 중첩된 작업으로 전환

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

태스크는 For each 중첩된 작업의 각 반복에 매개 변수를 전달합니다. 입력은 개체의 배열이며 각 개체는 중첩된 작업의 반복에 전달됩니다. 태스크에서 사용하는 입력을 만드는 방법에는 JSON 형식 배열, 작업 값 또는 작업 매개 변수가 있습니다.

비고

매개 변수는 UI에서 직접 입력할 때 5,000자로 제한됩니다. 작업 값 참조를 사용할 경우에는 48KB까지 허용됩니다(이때 값은 그것을 설명하는 문자열의 크기보다 훨씬 클 수 있습니다). 그리고 작업 매개 변수의 값은 10,000자로 제한됩니다. 매개 변수에 48KB 이상이 필요한 경우 더 큰 구성 파일에 조회를 전달할 수 있습니다. 큰 매개 변수 배열에 대한 조회 테이블 사용을 참조하세요.

JSON 형식의 값 배열

작업을 만들거나 편집할 때 입력 텍스트 상자를 사용하여 중첩된 작업에 대한 값 배열을 직접 정의할 수 있습니다 . 다음 데이터 형식의 배열일 수 있습니다.

  • 키-값 쌍
  • 문자열, 숫자 또는 부울 형식
  • 임의로 복잡한 JSON 개체

입력 텍스트 상자와 이 상자에 직접 전달된 JSON은 5,000자로 제한됩니다.

작업 값 참조

이전 작업에서 작업 값을 전달할 수 있습니다. 전달된 작업 값을 참조하려면 구문을 사용하여 {{tasks.<task_name>.values.<task_value_name>}}입력 텍스트 상자에 값을 설정합니다. 예를 들어 generate_countries_list 태스크 앞에 있는 For each라는 태스크가 다음 작업 값을 설정하는 경우

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

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

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

입력 텍스트 상자에 최대 5,000자를 입력할 수 있지만 참조가 나타내는 값은 최대 48KB가 될 수 있습니다. 작업 값에 대한 자세한 내용은 작업 값 사용을 참조하여 작업 간에 정보를 전달합니다.

작업 매개 변수

작업 매개 변수를 입력으로 사용할 수도 있습니다. 작업 매개 변수를 참조하려면 입력 텍스트 상자에 {{job.parameters.<name>}}다음 구문을 사용합니다. 예: {{job.parameters.countries}}.

입력 텍스트 상자에 최대 5,000자를 입력하여 작업 매개 변수를 참조할 수 있습니다. 작업 매개 변수 값은 10KB로 제한됩니다. 작업 매개 변수에 대한 자세한 내용은 작업 매개 변수 구성을 참조하세요.

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

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

For each 작업으로 업무를 실행하고 모니터링하기

For each 태스크로 작업을 실행하는 것은 다른 작업을 실행하는 것과 동일합니다.

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