작업 편집기 기능 - AWS Glue Studio

작업 편집기 기능

작업 편집기는 작업 생성 및 편집을 위해 다음과 같은 기능을 제공합니다.

  • 각 작업 태스크에 대한 노드가 있는 작업의 시각적 다이어그램: 데이터를 읽기 위한 데이터 원본 노드. 데이터를 수정하기 위한 변환 노드, 데이터를 쓰기 위한 데이터 대상 노드.

    작업 다이어그램에서 각 노드의 속성을 보고 구성할 수 있습니다. 작업 다이어그램에서 각 노드에 대한 스키마 및 샘플 데이터를 볼 수도 있습니다. 이러한 기능을 사용하면 작업을 실행할 필요 없이 작업이 올바른 방식으로 데이터를 수정하고 변환하는지 확인할 수 있습니다.

  • 작업에 대해 생성된 코드를 수정할 수 있는 스크립트 보기 및 편집 탭.

  • AWS Glue ETL 작업이 실행되는 환경을 사용자 정의하기 위해 다양한 설정을 구성할 수 있는 작업 세부 정보 탭.

  • 작업의 현재 및 이전 실행을 보고, 작업 실행 상태를 보고, 작업 실행에 대한 로그에 액세스할 수 있는 실행 탭.

  • 작업 시작 시간을 구성하거나 반복 작업 실행을 설정할 수 있는 일정 탭.

시각적 작업 편집기에서 스키마 미리 보기 사용

작업을 생성하거나 편집하는 동안 [출력 스키마(Output schema)] 탭을 사용하여 데이터에 대한 스키마를 볼 수 있습니다.

스키마를 보려면 먼저 작업 편집기에 데이터 원본에 액세스할 수 있는 권한이 필요합니다. 편집기의 작업 세부 정보 탭이나 노드의 [출력 스키마(Output schema)] 탭에서 IAM 역할을 지정할 수 있습니다. IAM 역할에 데이터 원본에 액세스하는 데 필요한 모든 권한이 있는 경우 노드의 [출력 스키마(Output schema)] 탭에서 스키마를 볼 수 있습니다.

시각적 작업 편집기에서 데이터 미리 보기 사용

작업을 생성하거나 편집하는 동안 [데이터 미리 보기(Data preview)] 탭을 사용하여 데이터 샘플을 볼 수 있습니다.

데이터 샘플을 보려면 먼저 작업 편집기에 데이터 원본에 액세스할 수 있는 권한이 필요합니다. [데이터 미리 보기(Data preview)] 탭을 처음 선택하면 사용할 IAM 역할을 선택하라는 메시지가 나타납니다. 작업에 사용하려는 동일한 역할일 수도 있고 다른 역할일 수도 있습니다. 선택한 IAM 역할에는 데이터 미리 보기를 생성하는 데 필요한 권한이 있어야 합니다.

IAM 역할을 선택한 후 데이터가 표시되기까지 20~30초 정도 소요됩니다. IAM 역할을 선택하는 즉시 데이터 미리 보기 사용 요금이 청구됩니다. 다음 기능은 데이터를 볼 때 도움이 됩니다.

  • 설정 아이콘(기어 기호)을 선택하여 데이터 미리 보기에 대한 기본 설정을 구성합니다. 샘플 크기를 변경하거나 한 줄에서 다음 줄로 텍스트를 줄 바꿈하도록 선택할 수 있습니다. 이러한 설정은 작업 다이어그램의 모든 노드에 적용됩니다.

  • [필드 y개 중 x개 미리 보기(Previewing x of y fields)] 버튼을 선택하여 미리 보려는 열(필드)을 선택합니다. 기본 설정을 사용하여 데이터를 미리 보면 작업 편집기에 데이터 집합의 처음 5개 열이 표시됩니다. 모두 표시하거나 표시하지 않도록 변경할 수 있습니다(권장하지 않음).

  • 데이터 미리 보기 창을 가로 및 세로로 스크롤할 수 있습니다.

  • 분할/전체 화면 버튼을 사용하여 데이터 미리보기 탭을 전체 화면으로 확장(작업 그래프 오버레이)하여 데이터 및 데이터 구조를 더 잘 볼 수 있습니다.

데이터 미리 보기를 사용하면 작업을 반복적으로 실행할 필요 없이 작업을 생성하고 테스트할 수 있습니다.

  • IAM 역할을 테스트하여 데이터 원본 또는 데이터 대상에 대한 액세스 권한이 있는지 확인할 수 있습니다.

  • 변환이 의도한 방식으로 데이터를 수정하고 있는지 확인할 수 있습니다. 예를 들어 필터 변환을 사용하는 경우 필터가 올바른 데이터 하위 집합을 선택하는지 확인할 수 있습니다.

  • 데이터 집합에 여러 유형의 값이 있는 열이 포함된 경우 데이터 미리 보기에 이러한 열에 대한 튜플 목록이 표시됩니다. 다음 스크린샷과 같이 각 튜플에는 데이터 유형과 해당 값이 포함됩니다.

    
              스크린샷은 노드의 데이터 미리보기 탭을 보여줍니다. 표시되는 열은 국가, alpha-2 코드, alpha-3 코드, 숫자 코드 및 위도입니다. 처음 나열되는 5개 국가는 아프가니스탄, 알바니아, 알제리, 아메리칸 사모아 및 안도라입니다. 위도 열의 경우 표시되는 값은 {"long":33, "string":null}, {"long":41, "string":null},{"long":28, "string":null},{"long":null, "string":"-14.3333"}, {"long":null, "string":"42.5"} 외 2개입니다.

데이터 미리 보기 사용 시 제한 사항

데이터 미리 보기를 사용할 때 다음과 같은 제한 사항이 있을 수 있습니다.

  • [데이터 미리 보기(Data preview)] 탭을 처음 선택할 때 IAM 역할을 선택해야 합니다. 이 역할에는 데이터 미리 보기를 만드는 데 필요한 데이터 및 기타 리소스에 액세스하는 데 필요한 권한이 있어야 합니다.

  • IAM 역할을 제공한 후 데이터를 볼 수 있을 때까지 시간이 걸립니다. 데이터가 1GB 미만인 데이터 집합의 경우 최대 1분이 소요될 수 있습니다. 큰 데이터 집합이 있는 경우 파티션을 사용하여 로드 시간을 개선해야 합니다. Amazon S3에서 직접 데이터를 로드하는 것이 성능이 가장 좋습니다.

  • 매우 큰 데이터 집합이 있고 데이터 미리 보기를 위해 데이터를 쿼리하는 데 30분 이상 걸리는 경우 요청 시간이 초과됩니다. 데이터 미리 보기 사용을 위해 데이터 집합 크기를 줄일 수 있습니다.

  • 기본적으로 처음 5개 열이 [데이터 미리 보기(Data preview)] 탭에 표시됩니다. 열에 데이터 값이 없는 경우 표시 할 데이터가 없다는 메시지가 나타납니다. 샘플링된 행 수를 늘리거나 다른 열을 선택하여 데이터 값을 볼 수 있습니다.

  • 데이터 미리 보기는 현재 스트리밍 데이터 원본 또는 사용자 정의 커넥터를 사용하는 데이터 원본에 대해 지원되지 않습니다.

  • 한 노드의 오류는 전체 작업에 영향을 줍니다. 데이터 미리 보기에서 한 노드에 오류가 있는 경우 이를 수정할 때까지 모든 노드에 오류가 표시됩니다.

  • 작업의 데이터 원본을 변경하는 경우 해당 데이터 원본의 하위 노드를 새 스키마와 일치하도록 업데이트해야 할 수 있습니다. 예를 들어 열을 수정하는 ApplyMapping 노드가 있고 해당 열이 대체 데이터 원본에 없는 경우 ApplyMapping 변환 노드를 업데이트해야 합니다.

  • SQL 쿼리 변환 노드에 대한 데이터 미리 보기 탭을 볼 때 SQL 쿼리에서 잘못된 필드 이름을 사용하면 데이터 미리 보기 탭에 오류가 표시됩니다.

스크립트 코드 생성

시각적 편집기를 사용하여 작업을 생성하는 경우 자동으로 ETL 코드가 생성됩니다. AWS Glue Studio는 기능적이고 완전한 작업 스크립트를 생성하여 Amazon S3 위치에 저장합니다.

AWS Glue Studio에서는 원본 또는 클래식 버전과 간소화된 최신 버전인 두 가지 형식의 코드를 생성합니다. 기본값으로 새 코드 생성기가 작업 스크립트를 생성하는 데 사용됩니다. 스크립트(Script) 탭에서 클래식 스크립트 생성(Generate classic script) 토글 버튼을 선택하여 클래식 코드 생성기로 작업 스크립트를 생성할 수 있습니다.

새 버전의 생성된 코드에서 유의할 몇 가지 차이점은 다음과 같습니다.

  • 더 이상 스크립트에 큰 주석 블록이 추가되지 않습니다.

  • 시각적 편집기에서 지정한 노드 이름이 코드의 출력 구조에 사용됩니다. 클래스 스크립트에서 출력 구조의 이름이 간단히 DataSource0, DataSource1, Transform0, Transform1, DataSink0, DataSink1 등으로 지정됩니다.

  • 긴 명령이 여러 줄로 분할되므로 전체 명령을 보기 위해 페이지를 스크롤할 필요가 없습니다.

AWS Glue Studio의 새로운 기능을 사용하려면 새 버전의 코드를 생성해야 하며 클래식 코드 스크립트에서는 작동하지 않습니다. 이러한 작업을 실행하려고 하면 업데이트하라는 메시지가 표시됩니다.