

# AWS Glue Studio에서 데이터 준비 레시피 사용
<a name="glue-studio-data-preparation"></a>

 **데이터 준비 레시피** 변환을 사용하면 대화형 그리드 스타일 작성 인터페이스를 사용하여 처음부터 데이터 준비 레시피를 작성할 수 있습니다. 또한 기존 AWS Glue DataBrew 레시피를 가져온 다음 AWS Glue Studio에서 편집할 수 있습니다.

 **데이터 준비 레시피** 노드는 리소스 패널에서 사용할 수 있습니다. **데이터 준비 레시피** 노드를 시각적 워크플로의 다른 노드 (데이터 소스 노드이거나 다른 변환 노드)에 연결할 수 있습니다. AWS Glue DataBrew 레시피와 버전을 선택하면 레시피에 적용된 단계가 노드 속성 탭에 표시됩니다.

## 사전 조건
<a name="glue-studio-databrew-prerequisites"></a>
+  AWS Glue DataBrew 레시피를 가져오는 경우 [AWS Glue Studio에서 AWS Glue DataBrew 레시피 가져오기](glue-studio-data-preparation-import-recipe.md)에 설명된 대로 필요한 IAM 권한이 있어야 합니다.
+  데이터 미리 보기 세션이 생성되어 있어야 합니다.

## 제한 사항
<a name="glue-studio-databrew-limitations"></a>
+  AWS Glue DataBrew 레시피는 [상용 DataBrew 리전](https://docs.aws.amazon.com/general/latest/gr/databrew.html)에서만 지원됩니다.
+  AWS Glue에서 모든 AWS Glue DataBrew 레시피가 지원되는 것은 아닙니다. 일부 레시피는 AWS Glue Studio에서 실행할 수 없습니다.
  +  `UNION` 및 `JOIN` 변환이 포함된 레시피는 지원되지 않습니다. 대신, AWS Glue Studio에는 **데이터 준비 레시피 노드** 이전 또는 이후에 사용할 수 있는 '조인' 및 '집합' 변환 노드가 이미 있습니다.
+  **데이터 준비 레시피** 노드는 AWS Glue 버전 4.0 이상 작업에 대해 지원됩니다. 이 버전은 **데이터 준비 레시피** 노드가 작업에 추가된 후에 자동으로 선택됩니다.
+  **데이터 준비 레시피** 노드에는 Python이 필요합니다. **데이터 준비 레시피** 노드가 작업에 추가될 때 자동으로 설정됩니다.
+  시각적 그래프에 새 **데이터 준비 레시피** 노드를 추가하면 올바른 라이브러리로 데이터 미리 보기 세션을 자동으로 재시작하여 **데이터 준비 레시피** 노드를 사용할 수 있습니다.
+  `GROUP_BY`, `PIVOT`, `UNPIVOT` 및 `TRANSPOSE` 변환은 **데이터 준비 레시피** 노드에서 가져오기 또는 편집이 지원되지 않습니다.

## 기타 기능
<a name="glue-studio-data-preparation-recipe-transform-features"></a>

 **데이터 준비 레시피** 변환을 선택하면 **레시피 작성**을 선택한 후 추가 작업을 수행할 수 있습니다.
+  단계 추가 - 필요에 따라 단계 추가 아이콘을 선택하여 레시피에 단계를 추가하거나, 작업을 선택하여 미리 보기 창의 도구 모음을 사용할 수 있습니다.  
![\[이 스크린샷은 레시피 추가 아이콘을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/add-recipe-icon.png)  
![\[이 스크린샷은 레시피 추가 아이콘을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/author-recipe-toolbar.png)
+  레시피 가져오기 - **더 보기**를 선택한 다음 **레시피 가져오기**를 선택하여 AWS Glue Studio 작업에 사용합니다.  
![\[이 스크린샷은 더 보기 아이콘을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/data-preparation-recipe-node-more-icon.png)  
![\[이 스크린샷은 더 보기 아이콘을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/data-preparation-recipe-node-more-features.png)
+  YAML로 다운로드 - **더 보기**를 선택한 다음 **YAML로 다운로드**를 선택하여 레시피를 다운로드하고 AWS Glue Studio 외부에 저장합니다.
+  JSON으로 다운로드 - **더 보기**를 선택한 다음 **JSON으로 다운로드**를 선택하여 레시피를 다운로드하고 AWS Glue Studio 외부에 저장합니다.
+  레시피 단계 실행 취소 및 재실행 - 그리드의 데이터를 사용할 때 미리 보기 창에서 레시피 단계를 실행 취소하고 다시 실행할 수 있습니다.  
![\[이 스크린샷은 더 보기 아이콘을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/author-recipe-toolbar-undo-redo.png)

# 시각적 ETL AWS Glue 작업에서 데이터 준비 레시피 작성 및 실행
<a name="glue-studio-data-preparation-recipe-transform-tutorial"></a>

 이 시나리오에서는 DataBrew에서 먼저 만들지 않고도 데이터 준비 레시피를 작성할 수 있습니다. 레시피 작성을 시작하려면 먼저 다음을 수행해야 합니다.
+  활성 데이터 미리 보기 세션을 실행합니다. 데이터 미리 보기 세션이 준비되면 **레시피 작성**이 활성화되고 레시피 작성 또는 편집을 시작할 수 있습니다.  
![\[이 스크린샷은 데이터 미리 보기 세션이 완료된 것을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/data-preparation-recipe-data-preview-complete.png)
+  **Glue 라이브러리 자동 가져오기** 토글이 활성화되어 있는지 확인합니다.  
![\[스크린샷은 Glue 라이브러리 자동 가져오기 옵션이 켜져 있는 것을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/data-preparation-recipe-automatically-import-glue-libraries.png)

   데이터 미리 보기 패널에서 톱니바퀴 아이콘을 선택하여 이 작업을 수행할 수 있습니다.  
![\[스크린샷은 Glue 라이브러리 자동 가져오기 옵션이 켜져 있는 것을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/data-preview-preferences.png)

**AWS Glue Studio에서 데이터 준비 레시피 노드 작성:**

1.  **데이터 준비 레시피** 변환을 작업 캔버스에 추가합니다. 변환은 데이터 소스 노드 상위 항목에 연결되어야 합니다. **데이터 준비 레시피** 노드를 추가하면 노드가 적절한 라이브러리와 함께 다시 시작되고 데이터 프레임이 준비되는 것을 볼 수 있습니다.  
![\[이 스크린샷은 데이터 준비 레시피를 추가한 후의 데이터 프레임 로드 과정을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/data-preparation-preparing-dataframe.png)

1.  데이터 미리 보기 세션이 준비되면 이전 단계가 적용된 데이터가 화면 하단에 표시됩니다.

1.  **레시피 작성**을 선택합니다. 이렇게 하면 AWS Glue Studio에서 새 레시피를 시작할 수 있습니다.  
![\[이 스크린샷은 이름 및 노드 상위 항목 필드와 레시피 작성 옵션이 있는 변환 패널을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/data-preparation-recipe-transform-tab-new.png)

1.  작업 캔버스 오른쪽에 있는 **변환** 패널에서 데이터 준비 레시피의 이름을 입력합니다.

1.  왼쪽의 캔버스는 데이터의 그리드 보기로 대체됩니다. 오른쪽의 **변환** 패널이 변경되어 레시피 단계가 표시됩니다. **단계 추가**를 선택하여 레시피에 첫 번째 단계를 추가합니다.  
![\[이 스크린샷은 단계 추가를 선택한 후의 변환 패널을 보여줍니다. 열을 선택하면 옵션이 동적으로 변경됩니다. 정렬하고, 열에 대한 작업을 수행하고, 값을 필터링할 수 있습니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/author-recipe-preview-data-transform-panel.png)

1.  **변환** 패널에서 정렬하고, 열에 대한 작업을 수행하고, 값을 필터링합니다. 예를 들어 **열 이름 변경**을 선택합니다.  
![\[이 스크린샷은 단계 추가를 선택한 후의 변환 패널을 보여줍니다. 열을 선택하면 옵션이 동적으로 변경됩니다. 정렬하고, 열에 대한 작업을 수행하고, 값을 필터링할 수 있습니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/author-recipe-add-step.png)

1.  오른쪽의 변환 패널에서 열 이름 변경 옵션을 사용하여 이름을 변경할 소스 열을 선택하고 새 열 이름을 입력할 수 있습니다. 완료하면 **적용**을 선택합니다.

    각 단계를 미리 보고, 단계를 취소하고, 단계를 재정렬하고, 필터, 정렬, 분할, 병합 등과 같은 작업 아이콘을 사용할 수 있습니다. 데이터 그리드에서 작업을 수행하면 변환 패널의 레시피에 단계가 추가됩니다.  
![\[이 스크린샷은 도구 모음이 강조 표시된 데이터 미리 보기 그리드를 보여줍니다. 원하는 도구를 사용하여 작업을 적용할 수 있으며, 해당 작업은 오른쪽 변환 패널의 레시피에 추가됩니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/author-recipe-preview-data-grid.png)

    변경이 필요한 경우 미리 보기 창에서 각 단계의 결과를 미리 보고, 단계를 실행 취소하고, 단계를 재정렬하여 변경할 수 있습니다. 예: 
   +  단계 실행 취소/다시 실행 – **실행 취소** 아이콘을 선택하여 단계를 실행 취소합니다. **다시 실행** 아이콘을 선택하면 단계를 반복할 수 있습니다.  
![\[이 스크린샷은 더 보기 아이콘을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/author-recipe-toolbar-undo-redo.png)
   +  단계 순서 변경 단계 - 단계 순서를 변경하면 AWS Glue Studio에서 각 단계를 검증하고 단계가 유효하지 않은지 알려줍니다.

1.  단계를 적용하면 변환 패널에 레시피의 모든 단계가 표시됩니다. 모든 단계를 지우고 다시 시작하고, 추가 아이콘을 선택하여 단계를 더 추가하거나, **레시피 작성 완료**를 선택할 수 있습니다.  
![\[이 스크린샷은 레시피에 단계가 추가된 변환 패널을 보여줍니다. 완료되면 레시피 작성 완료를 선택하거나 추가 아이콘을 선택하여 레시피에 단계를 더 추가합니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/author-recipe-done-authoring-recipe.png)

1.  화면 오른쪽 상단에서 **저장**을 선택합니다. 작업을 저장할 때까지 레시피 단계는 저장되지 않습니다.

# AWS Glue Studio에서 AWS Glue DataBrew 레시피 가져오기
<a name="glue-studio-data-preparation-import-recipe"></a>

 AWS Glue DataBrew에서 레시피는 데이터 변환 단계 세트입니다. AWS Glue DataBrew 레시피에서는 이미 읽은 데이터를 변환하는 방법을 규정하지만, 데이터를 읽는 위치와 방법, 그리고 데이터를 쓰는 방법과 위치에 대해서는 설명하지 않습니다. 레시피는 AWS Glue Studio의 소스 및 대상 노드에서 구성됩니다. 레시피에 대한 자세한 내용은 [Creating and using AWS Glue DataBrew recipes](https://docs.aws.amazon.com/databrew/latest/dg/recipes.html)를 참조하세요.

 AWS Glue Studio에서 AWS Glue DataBrew 레시피를 사용하려면 먼저 AWS Glue DataBrew에서 레시피를 생성합니다. 사용할 레시피가 이미 있으면 이 단계를 건너뛸 수 있습니다.

## AWS Glue DataBrew에 대한 IAM 권한
<a name="glue-studio-databrew-permissions"></a>

 이 주제에서는 IAM 관리자가 데이터 준비 레시피 변환에 대한 AWS Identity and Access Management(IAM) 정책에서 사용할 수 있는 작업과 리소스를 이해하는 데 도움이 되는 정보를 제공합니다.

 AWS Glue에서 보안에 대한 자세한 내용은 [액세스 관리](https://docs.aws.amazon.com/glue/latest/dg/security.html)를 참조하세요.

**참고**  
 다음 표에는 기존 AWS Glue DataBrew 레시피를 가져올 때 사용자에게 필요한 권한이 나와 있습니다.


**데이터 준비 레시피 변환 작업**  

| 작업 | 설명 | 
| --- | --- | 
| databrew:ListRecipes | AWS Glue DataBrew 레시피를 검색할 수 있는 권한을 부여합니다. | 
| databrew:ListRecipeVersions | AWS Glue DataBrew 레시피 버전을 검색할 수 있는 권한을 부여합니다. | 
| databrew:DescribeRecipe | AWS Glue DataBrew 레시피 설명을 검색할 수 있는 권한을 부여합니다. | 



 이 기능에 액세스하는 데 사용하는 역할에는 여러 AWS Glue DataBrew 작업을 허용하는 정책이 있어야 합니다. 필요한 작업이 포함된 `AWSGlueConsoleFullAccess` 정책을 사용하거나 역할에 다음 인라인 정책을 추가하여 이를 달성할 수 있습니다.

------
#### [ JSON ]

****  

```
{
  "Version":"2012-10-17",		 	 	 
  "Statement": [
    {
      "Effect": "Allow",
      "Action": [
        "databrew:ListRecipes",
        "databrew:ListRecipeVersions",
        "databrew:DescribeRecipe"
      ],
      "Resource": [
        "*"
      ]
    }
  ]
}
```

------



 데이터 준비 레시피 변환을 사용하려면 권한 정책에 `IAM:PassRole` 작업을 추가해야 합니다.


**필요한 추가 권한**  

| 작업 | 설명 | 
| --- | --- | 
| iam:PassRole | 사용자가 승인된 역할을 전달할 수 있도록 IAM에 권한을 부여합니다. | 

이 권한이 없으면 다음과 같은 오류가 발생합니다.

```
"errorCode": "AccessDenied"
"errorMessage": "User: arn:aws:sts::account_id:assumed-role/AWSGlueServiceRole is not 
authorized to perform: iam:PassRole on resource: arn:aws:iam::account_id:role/service-role/AWSGlueServiceRole 
because no identity-based policy allows the iam:PassRole action"
```



## AWS Glue DataBrew 레시피 가져오기
<a name="glue-studio-databrew-import-steps"></a>

**AWS Glue DataBrew 레시피를 가져와 AWS Glue Studio에서 사용하기:**

 기존 **데이터 준비 레시피** 노드가 있고 AWS Glue Studio에서 레시피 단계를 직접 편집하려면 AWS Glue Studio 작업으로 레시피 단계를 가져와야 합니다.

1.  AWS Glue Studio에서 데이터 소스와 함께 AWS Glue 작업을 시작합니다.

1.  **데이터 준비 레시피** 노드를 작업 캔버스에 추가합니다.  
![\[스크린샷에서는 선택할 수 있는 데이터 준비 레시피가 있는 노드 추가 모달을 보여줍니다.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/glue-add-node-data-preparation-recipe.png)

1.  변환 패널에 레시피의 이름을 입력합니다.

1.  캔버스에서 사용 가능한 노드를 드롭다운 목록에서 선택하여 하나 이상의 상위 노드를 선택합니다.

1.  **레시피 작성**을 선택합니다. **작성자 레시피**가 회색이면 노드 상위를 선택하고 데이터 미리 보기 세션이 완료될 때까지 사용할 수 없습니다.  
![\[Author Data Preparation Recipe form with name field and node parents selection dropdown.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/glue-author-data-preparation-recipe.png)

1.  DataFrame이 로드되고 소스 데이터에 대한 자세한 정보가 표시됩니다.

    **추가 작업** 아이콘을 선택하고 **레시피 가져오기**를 선택합니다.  
![\[Data preparation interface showing "Build your Recipe" with an "Add step" button.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/glue-dataframe-import-recipe.png)

1.  레시피 가져오기 마법사를 사용하여 단계를 완료합니다. 1단계에서 레시피를 검색하고 선택한 후, **다음**을 선택합니다.  
![\[Import recipe interface showing two recipes, with one selected for import.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/import-recipe-step-1.png)

1.  2단계에서 가져오기 옵션을 선택합니다. 기존 레시피에 새 레시피를 추가하거나 기존 레시피를 덮어쓰도록 선택할 수 있습니다. **다음**을 선택합니다.  
![\[Import recipe interface showing selected recipe, version, and two imported steps.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/import-recipe-step-2.png)

1.  3단계에서 레시피 단계를 검증합니다. AWS Glue DataBrew 레시피를 가져온 후에는 AWS Glue Studio에서 직접 이 레시피를 편집할 수 있습니다.  
![\[Recipe import interface showing two steps and a validation progress indicator.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/import-recipe-step-3.png)  
![\[Import recipe interface showing validated steps for sorting and formatting data.\]](http://docs.aws.amazon.com/ko_kr/glue/latest/dg/images/import-recipe-step-3-validated-2.png)

1.  이후에는 AWS Glue 작업의 일부로 단계를 가져오게 됩니다. 필요한 경우 **작업 세부 정보** 탭에서 작업 이름 지정 및 할당된 용량 조정과 같은 필요한 구성 변경을 수행합니다. **저장**을 선택하여 작업과 레시피를 저장합니다.
**참고**  
 JOIN, UNION, GROUP\$1BY, PIVOT, UNPIVOT, TRANSPOSE는 레시피 가져오기에 지원되지 않으며, 레시피 작성 모드에서도 사용할 수 없습니다.

1.  필요한 경우 다른 변환 노드를 추가하여 작업 작성을 완료하고 데이터 대상 노드를 추가할 수 있습니다.

    레시피를 가져온 후 단계를 재정렬하면 AWS Glue에서 해당 단계에 대한 검증을 수행합니다. 예를 들어 이름을 변경한 다음 열을 삭제하고, 삭제 단계를 맨 위로 이동한 경우, 이름 변경 단계는 유효하지 않게 됩니다. 이후 단계를 편집하여 검증 오류를 수정할 수 있습니다.

# AWS Glue DataBrew에서 AWS Glue Studio로 마이그레이션
<a name="databrew-migration-to-glue-studio"></a>

 AWS Glue DataBrew에 레시피가 있는 경우 다음 체크리스트를 사용하여 레시피를 AWS Glue Studio로 마이그레이션합니다.


| 다음을 수행하려는 경우… | 수행할 작업 | 
| --- | --- | 
|  사용자가 AWS Glue DataBrew 레시피, 레시피 버전 및 레시피 설명을 검색할 수 있습니다. |  역할이 필요한 작업에 액세스할 수 있도록 허용하는 정책에 IAM 권한을 추가합니다. [AWS Glue DataBrew에 대한 IAM 권한](glue-studio-data-preparation-import-recipe.md#glue-studio-databrew-permissions)을(를) 참조하세요. | 
|  기존 AWS Glue DataBrew 레시피를 AWS Glue Studio로 가져옵니다. |  [AWS Glue DataBrew 레시피 가져오기](glue-studio-data-preparation-import-recipe.md#glue-studio-databrew-import-steps) 섹션의 단계를 따르세요. | 
|  JOIN 및 UNION을 사용하여 레시피를 가져옵니다. |  UNION 및 JOIN 변환이 있는 레시피는 지원되지 않습니다. 데이터 준비 레시피 노드 전후에 AWS Glue Studio에서 조인 및 유니온 변환을 사용합니다. | 