

# 시각적 작업에서 FindMatches 사용
<a name="find-matches-visual-job"></a>

 AWS Glue Studio에서 **FindMatches** 변환을 사용하려면 FindMatches API를 간접 호출하는 **사용자 지정 변환** 노드를 사용하면 됩니다. 사용자 지정 변환을 사용하는 방법에 대한 자세한 내용은 [사용자 지정 변환 생성](https://docs.aws.amazon.com/glue/latest/ug/transforms-custom.html)을 참조하세요.

**참고**  
 현재 FindMatches API는 `Glue 2.0`에서만 작동합니다. FindMatches API를 간접 호출하는 사용자 지정 변환을 포함하는 작업을 실행하려면 AWS Glue 버전이 **작업 세부 정보** 탭에서 `Glue 2.0`인지 확인합니다. AWS Glue의 버전이 `Glue 2.0`이 아닌 경우 작업이 런타임에 실패하고 'cannot import name 'FindMatches' from 'awsglueml.transforms' 오류 메시지가 표시됩니다.

## 사전 조건
<a name="adding-find-matches-to-a-visual-job-prerequisites"></a>
+  **일치 항목 찾기** 변환을 사용하려면 [https://console.aws.amazon.com/gluestudio/](https://console.aws.amazon.com/gluestudio/)에서 AWS Glue Studio 콘솔을 엽니다.
+  기계 학습 변환을 생성합니다. 생성되면 transformId가 생성됩니다. 아래 단계를 수행하려면 이 ID가 필요합니다. 기계 학습 변환을 생성하는 방법에 대한 자세한 내용은 [기계 학습 변환 추가 및 편집](https://docs.aws.amazon.com/glue/latest/dg/console-machine-learning-transforms.html#console-machine-learning-transforms-actions)을 참조하세요.

## FindMatches 변환 추가
<a name="adding-find-matches-to-a-visual-job"></a>

**FindMatches 변환을 추가하려면:**

1.  AWS Glue Studio 작업 편집기에서 시각적 작업 그래프의 왼쪽 상단에 있는 십자 기호를 클릭하여 리소스 패널을 열고 **데이터 탭**을 선택하여 데이터 소스를 선택합니다. 이는 일치하는지 확인하려는 데이터 소스입니다.  
![스크린샷은 원 안의 십자 기호를 보여줍니다. 시각적 작업 편집기에서 이 아이콘을 클릭하면 리소스 패널이 열립니다.](https://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/resource-panel-blank-canvas.png)

1.  데이터 소스 노드를 선택한 다음 시각적 작업 그래프의 왼쪽 상단에 있는 십자 기호를 클릭하여 리소스 패널을 열고 '사용자 지정 변환'을 검색합니다. **사용자 지정 변환** 노드를 선택하여 그래프에 추가합니다. **사용자 지정 변환**이 데이터 소스 노드에 링크됩니다. 링크되지 않은 경우 **사용자 지정 변환** 노드를 클릭하고 **노드 속성** 탭을 선택한 다음 **노드 상위** 아래에서 데이터 소스를 선택할 수 있습니다.

1.  시각적 그래프에서 **사용자 지정 변환** 노드를 클릭한 다음 **노드 속성** 탭을 선택하고 사용자 지정 변환의 이름을 지정합니다. 시각적 그래프에서 변환 이름을 쉽게 식별할 수 있도록 변환의 이름을 바꾸는 것이 좋습니다.

1.  **변환** 탭을 선택합니다. 여기에서 코드 블록을 편집할 수 있습니다. 여기에서 FindMatches API를 간접 호출하는 코드를 추가할 수 있습니다.  
![스크린샷은 사용자 지정 변환 노드를 선택할 때 변환 탭에 있는 코드 블록을 보여줍니다.](https://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/custom-transform-code-block.png)

    코드 블록에는 미리 채워진 코드가 포함되어 있어 시작하는 데 도움이 됩니다. 미리 채워진 코드를 아래 템플릿으로 덮어씁니다. 템플릿에는 사용자가 제공할 수 있는 **transformId**의 자리 표시자가 있습니다.

   ```
   def MyTransform (glueContext, dfc) -> DynamicFrameCollection:
       dynf = dfc.select(list(dfc.keys())[0])
       from awsglueml.transforms import FindMatches
       findmatches = FindMatches.apply(frame = dynf, transformId = "<your id>")
       return(DynamicFrameCollection({"FindMatches": findmatches}, glueContext))
   ```

1.  시각적 그래프에서 **사용자 지정 변환** 노드를 클릭하고 시각적 작업 그래프의 왼쪽 상단에 있는 십자 기호를 클릭하여 리소스 패널을 연 후 '컬렉션에서 선택'을 검색합니다. 컬렉션에는 DynamicFrame 하나만 있으므로 기본 선택을 변경할 필요가 없습니다.

1.  계속해서 변환을 추가하거나 결과를 저장할 수 있습니다. 이제 일치 항목 찾기와 같은 추가된 열로 보강되었습니다. 다운스트림 변환에서 이러한 새 열을 참조하려면 변환 출력 스키마에 해당 열을 추가해야 합니다. 가장 쉬운 방법은 **데이터 미리 보기** 탭을 선택한 다음 스키마 탭에서 '데이터 미리보기 스키마 사용'을 선택하는 것입니다.

1.  FindMatches를 사용자 지정하려면 'apply' 메서드에 전달할 추가 파라미터를 추가할 수 있습니다. [FindMatches 클래스](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-transforms-findmatches.html)를 참조하세요.

## FindMatches 증분 변환 추가
<a name="find-matches-incrementally-visual-job"></a>

 증분 일치의 경우 프로세스는 다음 차이점을 제외하고 **FindMatches 변환 추가**와 동일합니다.
+  사용자 지정 변환의 상위 노드 대신, 두 개의 상위 노드가 필요합니다.
+  첫 번째 상위 노드는 데이터 세트여야 합니다.
+  두 번째 상위 노드는 증분 데이터 세트여야 합니다.

   템플릿 코드 블록에서 `transformId`를 사용자의 `transformId`로 바꿉니다.

  ```
  def MyTransform (glueContext, dfc) -> DynamicFrameCollection:
      dfs = list(dfc.values())
      dynf = dfs[0]
      inc_dynf = dfs[1]
      from awsglueml.transforms import FindIncrementalMatches
      findmatches = FindIncrementalMatches.apply(existingFrame = dynf, incrementalFrame = inc_dynf,
                                      transformId = "<your id>")
      return(DynamicFrameCollection({"FindMatches": findmatches}, glueContext))
  ```
+  선택적 파라미터는 [FindIncrementalMatches 클래스](https://docs.aws.amazon.com/glue/latest/dg/aws-glue-api-crawler-pyspark-transforms-findincrementalmatches.html)를 참조하세요.