다음을 통해 공유


Azure Data Factory 및 Synapse Analytics 파이프라인의 필터링 작업

입력 배열에 필터 식을 적용하려면 파이프라인에서 필터 작업을 사용할 수 있습니다.

적용 대상: Azure Data Factory Azure Synapse Analytics

기업용 올인원 분석 솔루션인 Microsoft Fabric의 Data Factory를 사용해 보세요. Microsoft Fabric은 데이터 이동부터 데이터 과학, 실시간 분석, 비즈니스 인텔리전스 및 보고에 이르기까지 모든 것을 다룹니다. 무료로 새 평가판을 시작하는 방법을 알아봅니다!

구문

{
    "name": "MyFilterActivity",
    "type": "filter",
    "typeProperties": {
        "condition": "<condition>",
        "items": "<input array>"
    }
}

UI를 사용하여 필터 작업 만들기

파이프라인에서 필터 작업을 사용하려면 다음 단계를 완료합니다.

  1. 배열 형식 변수 또는 다른 활동의 출력을 필터 조건의 입력으로 사용할 수 있습니다. 배열 변수를 만들려면 파이프라인 캔버스의 배경을 선택한 다음, 변수 탭을 선택하여 아래와 같이 배열 형식 변수를 추가합니다.

    Shows an empty pipeline canvas with an array type variable added to the pipeline.

  2. 파이프라인 활동 창에서 필터 를 검색하고 필터 작업을 파이프라인 캔버스로 끌어옵니다.

  3. 아직 선택하지 않은 경우 캔버스에서 새 필터 작업 및 해당 설정 탭을 선택하여 세부 정보를 편집합니다.

    Shows the UI for a Filter activity.

  4. 항목 필드를 선택한 다음, 동적 콘텐츠 추가 링크를 선택하여 동적 콘텐츠 편집기 창을 엽니다.

    Shows the  Add dynamic content  link for the Items property.

  5. 동적 콘텐츠 편집기에서 필터링할 입력 배열을 선택합니다. 이 예제에서는 첫 번째 단계에서 만든 변수를 선택합니다.

    Shows the dynamic content editor with the variable created in the first step selected

  6. 위와 같이 동적 콘텐츠 편집기를 다시 사용하여 조건 속성에 대한 필터 조건을 지정합니다.

  7. 필터 작업의 출력을 ForEach 활동과 같은 다른 활동에 대한 입력으로 사용할 수 있습니다.

형식 속성

속성 설명 허용된 값 필수
name Filter 작업의 이름입니다. 문자열
type 필터로 설정되어야 합니다. 문자열
condition 입력을 필터링하는 데 사용할 조건입니다.
항목 필터를 적용해야 하는 입력 배열입니다.

예시

이 예제에서 파이프라인에는 필터ForEach라는 두 개의 작업이 있습니다. 필터 작업은 3보다 큰 값의 항목에 대한 입력 배열을 필터링하도록 구성됩니다. 그런 다음, ForEach 작업은 필터링된 값에 대해 반복하고 변수 test를 현재 값으로 설정합니다.

{
    "name": "PipelineName",
    "properties": {
        "activities": [{
                "name": "MyFilterActivity",
                "type": "filter",
                "typeProperties": {
                    "condition": "@greater(item(),3)",
                    "items": "@pipeline().parameters.inputs"
                }
            },
            {
            "name": "MyForEach",
            "type": "ForEach",
            "dependsOn": [
                {
                    "activity": "MyFilterActivity",
                    "dependencyConditions": [
                        "Succeeded"
                    ]
                }
            ],
            "userProperties": [],
            "typeProperties": {
                "items": {
                    "value": "@activity('MyFilterActivity').output.value",
                    "type": "Expression"
                },
                "isSequential": "false",
                "batchCount": 1,
                "activities": [
                    {
                        "name": "Set Variable1",
                        "type": "SetVariable",
                        "dependsOn": [],
                        "userProperties": [],
                        "typeProperties": {
                            "variableName": "test",
                            "value": {
                                "value": "@string(item())",
                                "type": "Expression"
                            }
                        }
                    }
                ]
            }
        }],
        "parameters": {
            "inputs": {
                "type": "Array",
                "defaultValue": [1, 2, 3, 4, 5, 6]
            }
        },
        "variables": {
            "test": {
                "type": "String"
            }
        },
        "annotations": []
    }
}

지원되는 다른 제어 흐름 작업을 참조하세요.