데이터 크롤링하기

Glue Crawler로 데이터 크롤링하기

Athena에서 쿼리를 수행하기 위해, S3에 저장한 데이터의 스키마를 파악해야합니다. Glue Crawler를 사용해 테이블을 정의하고 데이터에 대한 스키마를 생성합니다. Glue Crawler는 데이터를 스캔하고 테이블 스키마를 자동으로 유추합니다. 테이블 및 열 이름과 같은 메타데이터는 Glue Data Catalog에 저장됩니다. 이 과정이 끝나면 데이터베이스 및 테이블이 Athena 쿼리 편집기에 나타납니다.

  1. AWS Management Console에서 Glue 서비스를 선택합니다.

  2. 왼쪽 메뉴에서 Crawlers를 선택합니다.

  3. [Add crawler] 버튼을 클릭합니다.

add-crawler

  1. Crawler name에 lookout-for-vision-result-crawler를 입력하고 [Next] 버튼을 클릭합니다. crawler-name

  2. Crawler의 Source Type을 지정합니다. 모든 옵션을 변경하지 않고 [Next] 버튼을 클릭합니다. 여기서는 Data Source로 데이터 스토어에 직접 액세스합니다. S3 버킷에 저장된 폴더 전체를 크롤링 합니다.

crawler-source-type

  1. S3를 data store로 선택합니다. S3 버킷의 result폴더에 있는 모든 파일을 크롤링합니다.Include path에 s3://lookout-for-vision-workshop-xxxxxxxx/result/ 를 입력합니다. xxxxxxxx를 복사한 S3 버킷 이름의 숫자로 변경합니다. 그리고 [Next] 버튼을 클릭합니다.

add-data-store

  1. Add another data store 단계에서 옵션을 변경하지 않고 No를 유지합니다. 그리고 [Next] 버튼을 클릭합니다.

  2. Glue용 IAM 역할을 생성합니다. IAM role에 lookout-for-vision-result-crawler를 입력합니다. 그리고 [Next] 버튼을 클릭합니다.

iam-role

  1. Glue Crawler를 정기적으로 실행할 수 있습니다. 언제 크롤러를 실행할지 Freqeuncy를 지정합니다. 여기서는 Run on demand를 선택합니다. 그리고 [Next] 버튼을 클릭합니다.

  2. 데이터베이스를 지정하고, 데이터베이스에 크롤러가 생성하는 메타데이터를 포함하도록 합니다. Database에 [Add database] 버튼을 클릭합니다.

crawler-output

Database name에 lookout-for-vision-result-db를 입력합니다. [Create] 버튼을 클릭합니다.

add-database

[Next] 버튼을 클릭합니다.

  1. 구성한 Crawler 정보를 확인하고 [Finish] 버튼을 클릭합니다.

  2. 크롤러 목록에서 생성한 lookout-for-vision-result-crawler 크롤러를 선택하고 [Run crawler] 버튼을 클릭합니다. 크롤링은 약 1-2분 내로 수행됩니다.

Glue Table 확인하기

  1. 크롤링이 완료되면 왼쪽 메뉴 Databases 아래 Tables를 선택합니다. S3 버킷의 result 폴더에 저장되었던 데이터가 result 테이블로 생성되어있는 것을 확인할 수 있습니다.

glue-table

  1. Glue Table의 테이블 속성과 스키마를 확인합니다.