2022.06.18.

AWS에서 분석 플랫폼 구축 실습 Part 2

(IAM Role, Glue Crawlers, Athena)

 

 

 

 

 

Part 2 실습 목표

 

 

  • 실습 목표

- Glue Data Catalog에 data set를 등록

 

- Glue Crawlers의 도움으로 meta data capture를 자동화

 

- catalog entity가 생성되면 Amazon Athena에서 data의 raw format의 data에 대해 query를 시작

 

 

 

 

 

IAM 계정에 권한 부여

 

 

  • 목표

- 새 AWS Glue service role을 생성 => 이를 통해 AWS Glue는 S3에 저장된 data에 access하고 Glue data catalog에서 필요한 entity를 생성할 수 있음

 

 

 

  • IAM 계정에 권한 부여

- 'IAM' console로 이동 => '역할' 선택 => '역할 만들기' 선택

 

 

 

- '다른 AWS 서비스의 사용 사례'에서 'Glue' 검색 후 선택 => '다음' 선택

 

 

 

- '권한 추가'에서 'AmazonS3FullAccess'와 'AWSGlueServiceRole' 선택 => '다음' 선택

 

- '역할 이름'에 'AnalyticsworkshopGlueRole' 입력 => 태그에서 '키'에 'workshop' 입력, '값'에 'AnalyticsOnAWS' 입력

 

 

 

 

 

 

Create Glue Crawlers

 

 

  • 목표

- Glue Crawlers를 생성 => S3에서 새로 수집된 data의 schema를 검색

 

 

 

  • Create Glue Crawlers

- 검색창에 'Glue' 검색 후 선택

 

 

 

- 왼쪽 panel에서 'Crawlers' 선택 => '크롤러 추가' 선택 

 

 

 

- '크롤러 이름'에 'AnalyticsworkshopCrawler' 입력 => '태그 키'에 'workshop' 입력, '태그 값'에 'AnalyticsOnAWS' 입력 => '다음' 선택

 

 

 

- 'Data stores' 선택 => '다음' 선택

 

- '데이터 스토어 선택'에 'S3' 선택 => '포함 경로'에 오른쪽의 폴더 버튼을 클릭해서 's3://minjoooo-analytics-workshop-bucket/data'로 선택

 

 

 

- '다른 데이터 스토어 추가'에 '아니오' 선택 => '다음' 선택

 

- 'IAM 역할 선택'에서 '기존 IAM 역할 선택' 선택 => 아까 만든 'AnalyticsworkshopGlueRole' 선택 => '다음' 선택

 

- '이 크롤러의 일정 생성'에서 '온디맨드 실행' 선택

 

- '크롤러의 출력 구성'에서 '데이터베이스'에 '데이터베이스 추가' 선택 => '데이터베이스 이름'에 'analyticsworkshopdb' 입력 후 '생성' 선택 => '다음' 선택

 

- '크롤러'에 들어가서 방금 만든 crawler 선택 => 처음으로 crawler를 실행하려면 '크롤러 실행' 선택

 

 

 

 

  • Catalog에서 새로 생성된 Table 확인

- 'Glue' Console에서 왼쪽 패널의 '데이터베이스' 선택 => 'analyticsworkshopdb' 선택 => 'analyticsworkshopdb 내 테이블' 선택

 

 

 

- 'raw' 선택 => data set의 schema 둘러보기

 

 

 

 

 

 

Athena를 사용해 수집된 Data Query

 

 

  • Athena를 사용해 수집된 Data Query

- 'Athena' Console 들어가기 => '쿼리 편집기 탐색' 선택

 

- 상단 하늘색 박스의 '첫 번째 쿼리를 실행하기 전에, Amazon S3에서 쿼리 결과 위치를 설정해야 합니다.'에서 '보기 설정' 선택 (안 뜨면 위쪽 메뉴의 '설정' 들어가면 됨)

 

 

 

- '쿼리 결과의 위치'에 오른쪽 'S3 찾아보기' 선택 => 's3://yourname-analytics-workshop-bucket/' 선택 => '저장' 선택

 

 

 

- '데이터베이스'에 'analyticsworkshopdb' 선택 => '테이블'에 'raw' 선택 => 오른쪽 '...' 클릭 후 '테이블 미리보기' 선택 => 아래에서 결과 확인

 

 

 

- '쿼리'에 아래의 query를 작성하기 => '실행' 선택 => 아래에서 결과 확인

 

SELECT activity_type,
         count(activity_type)
FROM raw
GROUP BY  activity_type
ORDER BY  activity_type

 

 

 

 

 

 

참고: AWS Analytics on AWS (https://catalog.us-east-1.prod.workshops.aws/workshops/44c91c21-a6a4-4b56-bd95-56bd443aa449/ko-KR)

이 워크샵을 추천해주시고 항상 많은 도움을 주시는 정도현 선배님께 감사합니다.

 

복사했습니다!