AWS Glue๋ ๊ณ ๊ฐ์ด ๋ถ์์ ์ํด ์์ฝ๊ฒ ๋ฐ์ดํฐ๋ฅผ ์ค๋นํ๊ณ ๋ก๋ํ ์ ์๊ฒ ์ง์ํ๋ ์์ ๊ด๋ฆฌํ ETL(์ถ์ถ, ๋ณํ ๋ฐ ๋ก๋) ์๋น์ค์ ๋๋ค. AWS Management Console์์ ํด๋ฆญ ๋ช ๋ฒ์ผ๋ก ETL ์์ ์ ์์ฑํ๊ณ ์คํํ ์ ์์ต๋๋ค. AWS Glue๊ฐ AWS์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ๊ฐ๋ฆฌํค๋๋ก ํ๊ธฐ๋ง ํ๋ฉด, AWS Glue์์ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ๊ณ ๊ด๋ จ ๋ฉํ๋ฐ์ดํฐ(์: ํ ์ด๋ธ ์ ์, ์คํค๋ง)๋ฅผ AWS Glue ๋ฐ์ดํฐ ์นดํ๋ก๊ทธ์ ์ ์ฅํฉ๋๋ค. ์นดํ๋ก๊ทธ์ ์ ์ฅ๋๋ฉด, ๋ฐ์ดํฐ๋ ์ฆ์ ๊ฒ์ํ๊ณ ์ฟผ๋ฆฌํ๊ณ ETL์์ ์ฌ์ฉํ ์ ์๋ ์ํ๊ฐ ๋ฉ๋๋ค. AWS Glue์์ ์ฝ๋๋ฅผ ์์ฑํ์ฌ ๋ฐ์ดํฐ ๋ณํ ๋ฐ ๋ฐ์ดํฐ ๋ก๋ฉ ํ๋ก์ธ์ค๋ฅผ ์คํํฉ๋๋ค.
AWS Glue์์ ์ฌ์ฉ์ ์ง์ ๊ฐ๋ฅํ๊ณ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉฐ ์ด๋ ๊ฐ๋ฅํ ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ETL ์์ ์ค๋น๊ฐ ์๋ฃ๋๋ฉด, AWS Glue์ ์์ ๊ด๋ฆฌํ ์ค์ผ์ผ ์์ Apache Spark ํ๊ฒฝ์์ ์คํํ๋๋ก ์ผ์ ์ ์์ฝํ ์ ์์ต๋๋ค. AWS Glue๋ ์ข ์์ฑ ํ์ธ, ์์ ๋ชจ๋ํฐ๋ง ๋ฐ ์๋ฆผ ๊ธฐ๋ฅ์ด ํ์ฌ๋ ์ ์ฐํ ์ค์ผ์ค๋ฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
AWS Glue๋ ์๋ฒ๋ฆฌ์ค์ด๋ฏ๋ก ๊ตฌ๋งค, ์ค์ ๋๋ ๊ด๋ฆฌํ ์ธํ๋ผ๊ฐ ์์ต๋๋ค. ์์ ์ ์๋ฃํ๋ ๋ฐ ํ์ํ ํ๊ฒฝ์ ์๋์ผ๋ก ํ๋ก๋น์ ๋ํ๋ฉฐ, ๊ณ ๊ฐ์ ETL ์์ ์ ์คํํ๋ ๋์ ์ฌ์ฉํ ์ปดํจํ ๋ฆฌ์์ค์ ๋ํ ๋น์ฉ๋ง ์ง๋ถํ๋ฉด ๋ฉ๋๋ค. AWS Glue์์๋ ๋ช ๋ถ์ด๋ฉด ๋ฐ์ดํฐ๋ฅผ ๋ถ์์ ์ฌ์ฉํ ์ ์๋ ์ํ๋ก ๋ง๋ค ์ ์์ต๋๋ค.
ETL์ ์์ํ ์ค๋น๊ฐ ๋์ จ์ต๋๊น?
AWS Glue ์์ํ๊ธฐ
๊ฐํธ์ฑ
AWS Glue๋ ETL ์์ ์ ๊ตฌ์ถ, ์ ์ง ๊ด๋ฆฌ ๋ฐ ์คํํ๋ ๋ ธ๋ ฅ ๋๋ถ๋ถ์ ์๋ํํฉ๋๋ค. AWS Glue๋ ๋ฐ์ดํฐ ์๋ณธ์ ํฌ๋กค๋งํ๊ณ , ๋ฐ์ดํฐ ํ์์ ํ์ ํ๊ณ , ์คํค๋ง์ ๋ณํ์ ์ ์ํฉ๋๋ค. AWS Glue์์ ์๋์ผ๋ก ์ฝ๋๋ฅผ ์์ฑํ์ฌ ๋ฐ์ดํฐ ๋ณํ ๋ฐ ๋ฐ์ดํฐ ๋ก๋ฉ ํ๋ก์ธ์ค๋ฅผ ์คํํฉ๋๋ค.
ํตํฉ
AWS Glue๋ ๋ค์ํ AWS ์๋น์ค์ ํตํฉ๋ฉ๋๋ค. AWS Glue๋ ๊ธฐ๋ณธ์ ์ผ๋ก Amazon Aurora, Amazon RDS for Oracle, MySQL์ฉ Amazon RDS, PostgreSQL์ฉ Amazon RDS, SQL Server์ฉ Amazon RDS, Amazon Redshift, Amazon S3, ๊ทธ๋ฆฌ๊ณ Amazon EC2์์ ์คํ๋๋ Virtual Private Cloud(VPC)์ ์๋ MySQL, Oracle, Microsoft SQL Server ๋ฐ PostgreSQL ๋ฐ์ดํฐ๋ฒ ์ด์ค์ ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ง์ํฉ๋๋ค. AWS Glue๋ Amazon Athena, Amazon EMR ๋ฐ Amazon Redshift Spectrum ๋ฐ ๋ชจ๋ Apache Hive Metastore ํธํ ์ ํ๋ฆฌ์ผ์ด์ ๊ณผ ์ฆ์ ํตํฉ๋ฉ๋๋ค.
์๋ฒ๋ฆฌ์ค
AWS Glue๋ ์๋ฒ๋ฆฌ์ค์ ๋๋ค. ๋ฐ๋ผ์, ํ๋ก๋น์ ๋ํ๊ฑฐ๋ ๊ด๋ฆฌํ ์ธํ๋ผ๊ฐ ์์ต๋๋ค. AWS Glue๋ ์์ ๊ด๋ฆฌํ ์ค์ผ์ผ ์์ Apache Spark ํ๊ฒฝ์์ ETL ์์ ์ ์คํํ๋ ๋ฐ ํ์ํ ๋ฆฌ์์ค์ ํ๋ก๋น์ ๋, ๊ตฌ์ฑ ๋ฐ ํ์ฅ/์ถ์๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. ๊ณ ๊ฐ์ ์์ ์ด ์คํ๋๋ ๋์ ์ฌ์ฉ๋ ๋ฆฌ์์ค์ ๋ํ ๋น์ฉ๋ง ์ง๋ถํฉ๋๋ค.
๊ฐ๋ฐ์ ์นํ์
AWS Glue๋ ์ต์ํ ๊ธฐ์ ์ธ Scala, Python ๋ฐ Apache Spark๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ์ฉ์ ์ง์ ๊ฐ๋ฅํ๊ณ ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ๋ฉฐ ์ด๋ ๊ฐ๋ฅํ ETL ์ฝ๋๋ฅผ ์์ฑํฉ๋๋ค. ๋ํ, ๊ณ ๊ฐ์ ์ฌ์ฉ์ ์ง์ ๋ฆฌ๋, ๋ผ์ดํฐ ๋ฐ ๋ณํ ๊ธฐ๋ฅ์ Glue ETL ์ฝ๋๋ก ๊ฐ์ ธ์ฌ ์ ์์ต๋๋ค. AWS Glue๊ฐ ์์ฑํ๋ ์ฝ๋๋ ๊ฐ๋ฐฉํ ํ๋ ์์ํฌ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํ๋ฏ๋ก, ์ ๊ธ ๊ธฐ๋ฅ์ ์์ต๋๋ค. ์ด๋์๋ ์ฌ์ฉํ ์ ์์ต๋๋ค.
ํ๋ํ๋ ค๋ฉด ํด๋ฆญ
๋จผ์ , AWS Management Console์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์๋ณธ์ ๋ฑ๋กํฉ๋๋ค. ๊ทธ๋ฌ๋ฉด AWS Glue๊ฐ ๋ฐ์ดํฐ ์๋ณธ์ ํฌ๋กค๋งํ ํ JSON, CSV, Parquet ๋ฑ ๋ง์ด ์ฌ์ฉ๋๋ ์๋ณธ ํ์ ๋ฐ ๋ฐ์ดํฐ ์ ํ์ ๋ง๊ฒ ์ฌ์ ์ ์ง์ ๋ ๋ถ๋ฅ์๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์นดํ๋ก๊ทธ๋ฅผ ๊ตฌ์ฑํฉ๋๋ค.
ํ๋ํ๋ ค๋ฉด ํด๋ฆญ
๊ทธ๋ค์, ๋ฐ์ดํฐ ์๋ณธ๊ณผ ๋ฐ์ดํฐ ๋์์ ์ ํํฉ๋๋ค. AWS Glue๊ฐ Scala ๋๋ Python์ผ๋ก ETL ์ฝ๋๋ฅผ ์์ฑํ์ฌ ์๋ณธ์ผ๋ก๋ถํฐ ๋ฐ์ดํฐ๋ฅผ ์ถ์ถํ๊ณ ํด๋น ๋ฐ์ดํฐ๋ฅผ ๋์ ์คํค๋ง์ ๋ง์ถฐ ๋ณํํ๊ณ , ์ด๋ฅผ ๋์์ผ๋ก ๋ก๋ํฉ๋๋ค. ์ฌ์ฉ์๋ ์ฝ์, ์ ํธํ๋ IDE ๋๋ ๋ ธํธ๋ถ์ ์ฌ์ฉํ์ฌ ํด๋น ์ฝ๋๋ฅผ ํธ์ง, ๋๋ฒ๊น ๋ฐ ํ ์คํธํ ์ ์์ต๋๋ค.
ํ๋ํ๋ ค๋ฉด ํด๋ฆญ
AWS Glue๋ฅผ ์ฌ์ฉํ๋ฉด ์์ฝ๊ฒ ๋ฐ๋ณต๋๋ ETL ์์ ์ ์์ฝํ๊ฑฐ๋, ์ฌ๋ฌ ์์ ์ ํจ๊ป ๋ฌถ๊ฑฐ๋, AWS Lambda์ ๊ฐ์ ๋ค๋ฅธ ์๋น์ค์์ ์จ๋๋งจ๋๋ก ์์ ์ ํธ์ถํ ์ ์์ต๋๋ค. AWS Glue๋ ์์ ๊ฐ ์ข ์์ฑ์ ๊ด๋ฆฌํ๊ณ , ๊ธฐ๋ณธ ๋ฆฌ์์ค๋ฅผ ์๋์ผ๋ก ํ์ฅ/์ถ์ํ๋ฉฐ, ์์ ์ด ์คํจํ๋ ๊ฒฝ์ฐ ๋ค์ ์๋ํฉ๋๋ค.
์์ธํ ๋ด์ฉ์ ์์๋ณด๋ ค๋ฉด AWS Glue ์ ํ ์ธ๋ถ ์ ๋ณด ํ์ด์ง๋ฅผ ๋ฐฉ๋ฌธํ๊ฑฐ๋ ์ ํ ์ค๋ช ์๋ฅผ ์ฐธ์กฐํ์ญ์์ค.
AWS Glue๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ์ ๋ฆฌ, ์ ๊ทํ ๋ฐ ๋ณด๊ฐํจ์ผ๋ก์จ ๋ถ์์ ์ํด ํด๋ฆญ์คํธ๋ฆผ์ ์ค๋นํ๊ฑฐ๋ ๋ก๊ทธ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํฉ๋๋ค. AWS Glue๋ ๋ฐ๋ณตํด์ ๋ฐ์ ํ ๋ฐ์ดํฐ์ ๋ํ ์คํค๋ง๋ฅผ ์์ฑํ๊ณ , ETL ์ฝ๋๋ฅผ ์์ฑํ์ฌ ๋ฐ์ดํฐ๋ฅผ ๋ณํ, ํ๋ฉดํ ๋ฐ ๋ณด๊ฐํ๊ณ , ๋ฐ์ดํฐ ์จ์ดํ์ฐ์ค๋ฅผ ๋ก๋ํฉ๋๋ค.
AWS Glue ๋ฐ์ดํฐ ์นดํ๋ก๊ทธ๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ด๋ํ์ง ์๊ณ ๋ ์ฌ๋ฌ AWS ๋ฐ์ดํฐ ์ธํธ ์ ์ฒด์์ ์ ์ํ๊ฒ ๋ฐ์ดํฐ๋ฅผ ๊ฒ์ํ ์ ์์ต๋๋ค. ์ผ๋จ ๋ฐ์ดํฐ๊ฐ ์นดํ๋ก๊ทธ์ ์ ์ฅ๋๋ฉด, Amazon Athena, Amazon EMR ๋ฐ Amazon Redshift Spectrum์์ ์ฆ์ ๊ฒ์ ๋ฐ ์ฟผ๋ฆฌ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
์ ํ ๋ฐ ๋น์ ํ ๋ฐ์ดํฐ๋ฅผ ์ ์ฅํ๊ณ ๋ถ์ํ๋ ๋ฐ ๋ฐ์ดํฐ ๋ ์ดํฌ๊ฐ ์ ์ ๋ ๋ง์ด ์ฌ์ฉ๋๊ณ ์์ต๋๋ค. Amazon S3 ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ์ฌ์ฉํ๋ ๊ฒฝ์ฐ, AWS Glue๋ฅผ ์ฌ์ฉํ๋ฉด ๋ฐ์ดํฐ๋ฅผ ์ด๋ํ์ง ์๊ณ ๋ ์ฆ์ ๋ชจ๋ ๋ฐ์ดํฐ๋ฅผ ๋ถ์์ ์ฌ์ฉํ ์ ์๋๋ก ๋ง๋ค ์ ์์ต๋๋ค. Glue ํฌ๋กค๋ฌ๊ฐ ๋ฐ์ดํฐ ๋ ์ดํฌ๋ฅผ ์ค์บํ๊ณ Glue ๋ฐ์ดํฐ ์นดํ๋ก๊ทธ๋ฅผ ๊ธฐ๋ณธ ๋ฐ์ดํฐ์ ๋๊ธฐํ๋ ์ํ๋ก ์ ์งํฉ๋๋ค. ๊ทธ๋ฐ ๋ค์ ์ฌ์ฉ์๊ฐ Amazon Athena์ Amazon Redshift Spectrum์ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ ์ดํฌ์ ๋ํด ์ง์ ์ฟผ๋ฆฌ๋ฅผ ์ํํ ์ ์์ต๋๋ค. ๋ํ, Glue ๋ฐ์ดํฐ ์นดํ๋ก๊ทธ๋ฅผ Amazon EMR์์ ์คํ๋๋ ๋น ๋ฐ์ดํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ์ํ ์ธ๋ถ Apache Hive Metastore๋ก ์ฌ์ฉํ ์๋ ์์ต๋๋ค.
AWS Glue๋ ์๋ก์ด ๋ฐ์ดํฐ ์ธํธ ํ๋ณด์ ๊ฐ์ ์ด๋ฒคํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ETL ์์ ์ ์คํํ ์ ์์ต๋๋ค. ์๋ฅผ ๋ค์ด AWS Lambda ํจ์๋ฅผ ํตํด ETL ์์ ์ ํธ๋ฆฌ๊ฑฐํ์ฌ Amazon S3์ ์๋ก์ด ๋ฐ์ดํฐ๊ฐ ์ ์ฅ๋๋ ๋๋ก ETL ์์ ์ด ์คํ๋๋๋ก ํ ์ ์์ต๋๋ค. ๋ํ, ์ด ์๋ก์ด ๋ฐ์ดํฐ ์ธํธ๋ฅผ ETL ์์ ์ ์ผ๋ถ๋ก AWS Glue ๋ฐ์ดํฐ ์นดํ๋ก๊ทธ์ ๋ฑ๋กํ ์๋ ์์ต๋๋ค.
์ฝ๊ฒ AWS Glue๋ฅผ ์์ํ ์ ์์ต๋๋ค. AWS Management Console์ ๋ก๊ทธ์ธํ์ฌ [Analytics] ์นดํ ๊ณ ๋ฆฌ ์๋์ [Glue]๋ก ์ด๋ํ๊ธฐ๋ง ํ๋ฉด ๋ฉ๋๋ค.

