튜토리얼: AWS Glue 크롤러 추가 - AWS Glue

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

튜토리얼: AWS Glue 크롤러 추가

이 AWS Glue 시나리오에서는 주요 항공사의 도착 데이터를 분석하여 월별 출발 공항의 인기도를 계산해야 합니다. Amazon S3에 저장된 CSV 포맷의 2016년 항공편 데이터가 있습니다. 데이터를 변환하고 분석하기 전에 해당 메타데이터를 AWS Glue Data Catalog에 분류합니다.

이 튜토리얼에서는 Amazon S3 비행 로그에서 메타데이터를 유추하고 Data Catalog에 테이블을 생성하는 크롤러를 추가해 보겠습니다.

필수 조건

이 튜토리얼에서는 AWS 계정이 있고 AWS Glue에 대한 액세스 권한이 있다고 가정합니다.

1단계: 크롤러 추가

다음 단계에 따라 Amazon S3 저장된 CSV 파일에서 메타데이터를 추출하는 크롤러를 구성하고 실행합니다.

Amazon S3에 저장된 파일을 읽는 크롤러를 생성하려면
  1. AWS Glue 서비스 콘솔의 왼쪽 메뉴에서 [크롤러(Crawlers)]를 선택합니다.

  2. 크롤러 페이지에서 크롤러 생성을 선택합니다. 그러면 크롤러 세부 정보를 묻는 일련의 페이지가 시작됩니다.

    이 스크린샷은 크롤러 페이지를 보여줍니다. 여기에서 크롤러를 만들거나 기존 크롤러를 편집, 복제, 삭제, 조회할 수 있습니다.
  3. [크롤러 이름(Crawler name)] 필드에 Flights Data Crawler를 입력하고 [다음(Next)]을 선택합니다.

    크롤러는 분류자를 호출하여 데이터의 스키마를 추론합니다. 이 튜토리얼에서는 기본적으로 CSV에 기본 제공 분류자를 사용합니다.

  4. 크롤러 소스 유형으로 [데이터 스토어(Data stores)]를 선택하고 [다음(Next)]을 선택합니다.

  5. 이제 크롤러가 데이터를 가리키도록 하겠습니다. [데이터 스토어 추가(Add a data store)] 페이지에서 Amazon S3 데이터 스토어를 선택합니다. 이 튜토리얼에서는 연결을 사용하지 않으므로 [연결(Connection)] 필드가 표시되면 비워 둡니다.

    [데이터 크롤링(Crawl data in)] 옵션으로 [다른 계정으로 지정된 경로(Specified path in another account)]를 선택합니다. 그런 다음 [포함 경로(Include path)]에 크롤러가 항공편 데이터를 찾을 수 있는 경로인 s3://crawler-public-us-east-1/flight/2016/csv를 입력합니다. 경로를 입력하면 이 필드의 제목이 [포함 경로(Include path)]로 바뀝니다. 다음을 선택합니다.

  6. 단일 크롤러로 여러 데이터 스토어를 크롤링할 수 있습니다. 그러나 이 튜토리얼에서는 단일 데이터 스토어만 사용하므로 [아니요(No)]를 선택한 후 [다음(Next)]을 선택합니다.

  7. 크롤러는 데이터 스토어에 액세스하고 AWS Glue Data Catalog에서 객체를 생성할 수 있는 권한이 필요합니다. 이러한 권한을 구성하려면 [IAM 역할 생성(Create an IAM role)]을 선택합니다. IAM 역할 이름은 AWSGlueServiceRole-로 시작하고 필드에 역할 이름의 마지막 부분을 입력합니다. CrawlerTutorial을 입력한 다음 [다음(Next)]을 선택합니다.

    참고

    IAM 역할을 생성하려면 AWS 사용자에게 CreateRole, CreatePolicyAttachRolePolicy 권한이 있어야 합니다.

    마법사는 AWSGlueServiceRole-CrawlerTutorial이라는 IAM 역할을 생성하고 AWS 관리형 정책 AWSGlueServiceRole을 이 역할에 연결하고 Amazon S3 위치 s3://crawler-public-us-east-1/flight/2016/csv에 대한 읽기 액세스를 허용하는 인라인 정책을 추가합니다.

  8. 크롤러에 대한 일정을 생성합니다. [빈도(Frequency)]에서 [온디맨드로 실행(Run on demand)]을 선택하고 [다음(Next)]을 선택합니다.

  9. 크롤러가 Data Catalog에 테이블을 생성합니다. 테이블은 Data Catalog의 데이터베이스에 포함됩니다. 먼저 [데이터베이스 추가(Add database)]를 선택하여 데이터베이스를 생성합니다. 팝업 창에서 데이터베이스 이름으로 test-flights-db를 입력하고 [생성(Create)]을 선택합니다.

    그런 다음 [테이블에 추가된 접두사(Prefix added to tables)]에 flights를 입력합니다. 나머지 옵션에 기본값을 사용하고 [다음(Next)]을 선택합니다.

  10. []크롤러 추가(Add crawler)] 마법사에서 선택 내용을 확인합니다. 실수가 있는 경우 [뒤로(Back)]를 클릭하여 이전 페이지로 돌아가서 변경할 수 있습니다.

    정보를 검토한 후 [마침(Finish)]을 선택하여 크롤러를 생성합니다.

2단계: 크롤러 실행

크롤러를 생성하면 마법사가 크롤러 보기 페이지로 이동합니다. 온디맨드 일정으로 크롤러를 생성하기 때문에 크롤러를 실행할 수 있는 옵션이 제공됩니다.

크롤러를 실행하려면
  1. 이 페이지 상단 근처에 있는 배너를 통해 크롤러가 생성되었음을 알리고 지금 실행할 것인지 묻습니다. [지금 실행?(Run it now?)]을 선택하여 크롤러를 실행합니다.

    배너가 변경되어 크롤러에 대해 “실행 시도 중(Attempting to run)” 및 “실행 중(Running)” 메시지가 표시됩니다. 크롤러 실행이 시작되면 배너가 사라지고 크롤러 디스플레이가 업데이트되어 크롤러에 대해 시작 중(Starting) 상태가 표시됩니다. 잠시 후 새로 고침 아이콘을 클릭하여 테이블에 표시된 크롤러의 상태를 업데이트할 수 있습니다.

  2. 크롤러가 완료되면 크롤러의 변경 사항을 설명하는 새 배너가 나타납니다. test-flights-db링크를 선택하여 Data Catalog 객체를 볼 수 있습니다.

3단계: AWS Glue Data Catalog 객체 보기

크롤러는 소스 위치에서 데이터를 읽고 Data Catalog에 테이블을 생성합니다. 테이블은 해당 스키마를 포함한 데이터를 나타내는 메타데이터 정의입니다. Data Catalog의 테이블에는 데이터가 없습니다. 대신 이러한 테이블을 작업 정의에서 소스 또는 대상으로 사용합니다.

크롤러가 생성한 Data Catalog 객체를 보려면
  1. 왼쪽 탐색의 [데이터 카탈로그(Data catalog)]에서 [데이터베이스(Databases)]를 선택합니다. 여기에서 크롤러에 의해 생성된 flights-db 데이터베이스를 볼 수 있습니다.

  2. 왼쪽 탐색의 [데이터 카탈로그(Data catalog)][데이터베이스(Databases)] 아래에서 [테이블(Tables)]을 선택합니다. 여기에서 크롤러가 생성한 flightscsv 테이블을 볼 수 있습니다. 테이블 이름을 선택하면 테이블 설정, 파라미터 및 속성을 볼 수 있습니다. 이 보기에서 아래로 스크롤하면 테이블의 열 및 데이터 유형에 대한 정보인 스키마를 볼 수 있습니다.

  3. 테이블 보기 페이지에서 [파티션 보기(View partitions)]를 선택하면 데이터에 대해 생성된 파티션을 볼 수 있습니다. 첫 번째 열은 파티션 키입니다.