여기서 다루는 내용
· Data catalog - Athena 연동 및 확인
· Data catalog - EMR (spark/presto/hive) 연동 및 확인
· Data catalog - Redshift 연동 및 확인
· 마무리
AWS Glue 간단 사용기 - 1부
AWS Glue 간단 사용기 - 2부
AWS Glue 간단 사용기 - 3부
1부에서 MovieLens 에서 제공하는 오픈 데이터를 활용하여 간단하게 Glue Data catalog를 구축하는 시간을 가졌고,
2부에서는 Data catalog를 기반으로 ETL job을 수행하는 시간을 가졌습니다.
이번 시간에는 이전 시간에 등록한 Glue data catalog 테이블을 다른 AWS 서비스에서 간단 확인해보는 시간을 갖도록 하겠습니다.
참고로 이전 시간에 등록된 팩트 테이블과 차원 테이블 정보는 아래와 같습니다.
Data catalog - Athena 쿼리 및 확인
AWS Athena 서비스에 접속하여 Database를 확인해보면 1부에서 생성한 movielens 데이터베이스 및 테이블들을 확인할 수 있습니다.
테이블을 select 해서 데이터를 확인해보면 정상적으로 쿼리되는 것을 확인할 수 있습니다.
Data catalog - EMR (spark/presto/hive) 실행 및 확인
EMR 생성시 Spark, Presto, Hive를 선택하여 Glue Data Catalog와 연동되는 부분을 확인해 보겠습니다.
EMR에 대한 상세 내용은 여기 참고 바랍니다.
:: EMR 생성 Glue Data Catalog 사용 설정
EMR 생성시 Glue Data Catalog 사용을 아래와 같이 체크하여 사용 여부를 설정합니다.
:: Spark 확인
시각화 도구인 Zeppelin에 접속하여 Spark로 movielens 데이터베이스를 확인해보면 정상적으로 Glue Data Catalog와 연동이 되는 것 확인 가능합니다.
간단하게 영화 장르별 평점 개수의 년도별 개수 추이와 시간대별 영화 평점 개수 추이를 쿼리하여 확인 가능합니다.
:: Presto 확인
위와 동일한 쿼리를 Hue에 접속하면 Glue Data Catalog에 등록된 movielens 데이터 베이스 확인이 가능하며 Presto 쿼리를 하면 아래와 같습니다.
:: Hive 확인
위와 동일하게 Hue에서 Glue Data Catalog에 등록된 movielens 데이터 베이스를 Hive 쿼리를 하면 아래와 같습니다.
Data catalog - Redshift 쿼리 및 확인
먼저 Redshift를 생성합니다. Redshift에 대한 정보는 여기 참고 바랍니다.
그리고 Glue Data catalog에서 connection을 하나 추가합니다.
Redshift Spectrum 용 외부 스키마를 생성합니다.
create external schema spectrum
from data catalog
database 'movielens'
iam_role 'arn:aws:iam::000000000000:role/redshift-spectrum-role';
팩트 테이블은 Spectrum에 위치하고, 아래와 같이 Spectrum 에서 차원 테이블을 로드합니다.
create table movielens.dim_date
diststyle all
sortkey (dateid)
as
select dateid, date, day, dayofweek, dayname, month, year, quarter, quartername, isweekend
from spectrum.dim_date;
여기서는 AWS 에서 제공하는 시각화 도구인 Quicksight 에서 쿼리를 하여 확인해 보도록 하겠습니다.
Quicksight에서 Redshift data source 설정을 합니다. (서울 리전은 지원되지 않으므로, 도쿄 리전에서 public 접근을 하도록 하겠습니다.)
Custom SQL로 조회한 데이터를 시각화하여 간단 확인해봅니다.
마무리
지금까지 AWS Glue 간단 사용기 - 1, 2, 3부를 통해 Glue에서 테이블을 등록하고 ETL job을 실행하고 실행된 결과를 다른 AWS 서비스에서 확인 해보았습니다.
이상 AWS Glue 간단 사용기를 마무리 합니다.