SQL 쿼리를 사용하여 데이터 변환 - AWS Glue

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

SQL 쿼리를 사용하여 데이터 변환

SQL 변환을 사용하여 SQL 쿼리 형식으로 고유한 변환을 작성할 수 있습니다.

SQL 변환 노드는 여러 데이터 집합을 입력으로 가질 수 있지만 출력으로 단일 데이터 집합만 생성합니다. Apache SparkSQL 쿼리를 입력하는 텍스트 필드가 있습니다. 단순히 SQL 쿼리를 돕기 위해 입력으로 사용되는 각 데이터 집합에 별칭을 할당할 수 있습니다. SQL 구문에 대한 자세한 내용은 Spark SQL 설명서를 참조하세요.

참고

VPC에 위치한 데이터 원본으로 Spark SQL 변환을 사용하는 경우 데이터 원본이 포함된 VPC에 AWS Glue VPC 엔드포인트를 추가합니다. 개발 엔드포인트 구성에 대한 자세한 내용은 AWS Glue Developer GuideAdding a Development Endpoint, Setting Up Your Environment for Development Endpoints, and Accessing Your Development Endpoint를 참조하세요.

작업 다이어그램에서 SQL 변환 노드를 사용하려면
  1. (선택 사항) 필요한 경우 작업 다이어그램에 변환 노드를 추가합니다. 노드 유형으로 [Spark SQL]을 선택합니다.

  2. [노드 속성(Node properties)] 탭에서 작업 다이어그램에 노드 이름을 입력합니다. 노드 상위 항목이 아직 선택되지 않았거나 SQL 변환에 대해 여러 입력을 원하는 경우 [노드 상위 항목(Node parents)] 목록에서 변환의 입력 소스로 사용할 노드를 선택합니다. 필요에 따라 상위 노드를 추가합니다.

  3. 노드 세부 정보 패널에서 [변환(Transform)] 탭을 선택합니다.

  4. SQL 쿼리의 소스 데이터 집합은 각 노드의 [이름(Name)] 필드에 지정한 이름으로 식별됩니다. 이러한 이름을 사용하지 않으려는 경우나 이름이 SQL 쿼리에 적합하지 않은 경우 각 데이터 집합에 이름을 연결할 수 있습니다. 콘솔은 MyDataSource와 같은 기본 별칭을 제공합니다.

    스크린샷은 3노드 작업 다이어그램을 보여줍니다. 첫 번째 노드는 "This is really long name"이라는 S3 소스 노드입니다. 두 번째 노드는 "SQL query"라는 SQL 코드 변환 노드입니다. 세 번째 노드는 "Revised flight data"라는 S3 데이터 대상 노드입니다. SQL 쿼리 노드가 선택되고 노드 세부 정보 패널에 [변환(Transform)] 탭이 표시됩니다. [변환(Transform)] 탭 패널의 입력 소스 필드에 "This is a really long name"이라는 항목이 하나 표시됩니다. 연결된 Spark SQL 별칭 필드에 "myDataSource"가 표시됩니다. 코드 블록 필드에 "select * from myDataSource"가 표시됩니다.

    예를 들어, SQL 변환 노드의 상위 노드 이름이 Rename Org PK field인 경우 org_table이라는 이름을 이 데이터 집합과 연결할 수 있습니다. 그런 다음 이 별칭을 노드 이름 대신 SQL 쿼리에서 사용할 수 있습니다.

  5. 머리글 [코드 블록(Code block)] 아래의 텍스트 입력 필드에 SQL 쿼리를 붙여넣거나 입력합니다. 텍스트 필드에는 SQL 구문 강조 표시 및 키워드 제안 사항이 표시됩니다.

  6. SQL 변환 노드를 선택한 상태에서 [출력 스키마(Output schema)] 탭을 선택한 다음 [편집(Edit)]을 선택합니다. SQL 쿼리의 출력 필드를 설명하는 열과 데이터 유형을 제공합니다.

    페이지의 [출력 스키마(Output schema)] 섹션에서 다음 작업을 사용하여 스키마를 지정합니다.

    • 열 이름을 바꾸려면 열의 [키(Key)] 텍스트 상자(필드 또는 속성 키라고도 함)에 커서를 놓고 새 이름을 입력합니다.

    • 열의 데이터 유형을 변경하려면 드롭다운 목록에서 열의 새 데이터 유형을 선택합니다.

    • 스키마에 새 최상위 열을 추가하려면 오버플로( A rectangle with an ellipsis (...) in the center ) 버튼을 선택한 다음 [루트 키 추가(Add root key)]를 선택합니다. 새 열이 스키마 맨 위에 추가됩니다.

    • 스키마에서 열을 제거하려면 키 이름의 맨 오른쪽에 있는 삭제 아이콘( An outline of a trash can )을 선택합니다.

  7. 출력 스키마 지정을 마치면 [적용(Apply)]을 선택하여 변경 사항을 저장하고 스키마 편집기를 종료합니다. 변경 사항을 저장하지 않으려면 [취소(Cancel)]를 선택하여 스키마 편집기를 편집합니다.

  8. (선택 사항) 노드 속성과 변환 속성을 구성한 후 노드 세부 정보 패널에서 [데이터 미리 보기(Data preview)] 탭을 선택하여 수정된 데이터 집합을 미리 볼 수 있습니다. 작업의 노드에 대해 이 탭을 처음 선택하면 데이터 액세스를 위해 IAM 역할을 제공하라는 메시지가 나타납니다. 이 기능 사용과 관련된 비용이 있으며 IAM 역할을 제공하는 즉시 결제가 시작됩니다.