์์ ๊ด๋ฆฌํ Apache Spark, Hadoop, 30๊ฐ ์ด์์ ์คํ์์ค ํ๋ ์์ํฌ ํด๋ฌ์คํฐ๋ฅผ ์์ฝ๊ฒ ์ ์ดํ์ฌ ์คํํ์ธ์. Lightning Engine์ผ๋ก Compute Engine์ Spark๋ฅผ ๊ฐ์ํํ๊ณ Google Cloud์ ๊ฐ๋ฐฉํ ๋ ์ดํฌํ์ฐ์ค์ ํตํฉํ์ธ์.
Apache Spark๋ Apache Software Foundation์ ์ํ์ ๋๋ค.
๊ธฐ๋ฅ
Dataproc์ Spark ์ธ์๋ ์ ์ฒด Apache Hadoop ์คํ(๋งต๋ฆฌ๋์ค, HDFS, YARN)๊ณผ Flink, Trino, Hive, ๊ธฐํ 30๊ฐ ์ด์์ ์คํ์์ค ๋๊ตฌ๋ฅผ ์ํ ์์ ๊ด๋ฆฌํ ์๋น์ค๋ฅผ ์ ๊ณตํฉ๋๋ค. ์ด๋ฌํ ์๋น์ค๋ฅผ ์ง์ํ๊ธฐ ์ํด Dataproc์ ์์ ๊ด๋ฆฌํ Hive Metastore ์๋น์ค์ธ Dataproc Metastore์ ํตํฉํ์ฌ ๊ธฐ์กด ๋ฐ์ดํฐ ๋ ์ดํฌ ๊ตฌ์ฑ์์์ ๋ฉํ๋ฐ์ดํฐ ๊ด๋ฆฌ๋ฅผ ๊ฐ์ํํฉ๋๋ค. ๊ธฐ์กด ๋ฐ์ดํฐ ๋ ์ดํฌ ์ํฌ๋ก๋๋ฅผ ํ๋ํํ๊ฑฐ๋ ์ ํธํ๋ ์์ง์ผ๋ก ์ ์ ํ๋ฆฌ์ผ์ด์ ์ ๋น๋ํ์ธ์.
๊ด๋ฆฌํ Dataproc ํด๋ฌ์คํฐ์ ์ ์ด ๊ธฐ๋ฅ์ ํตํด ๊น๋ค๋ก์ด Spark ์ํฌ๋ก๋๋ฅผ ์คํํ์ธ์. ํ์ฌ ํ๋ฆฌ๋ทฐ ๋ฒ์ ์ Lightning Engine**์ผ๋ก ์ฟผ๋ฆฌ ์๋๊ฐ 3.6๋ฐฐ* ๋นจ๋ผ์ก์ต๋๋ค. Spark SQL ๋ฐ DataFrame ์์ ์ ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋ฉ๋๋ค. ๋ฒ์ ๋ฐ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ ํํ์ฌ ํ์์ ๋ฐ๋ผ Spark ํ๊ฒฝ์ ์ ํํ๊ฒ ๊ตฌ์ฑํฉ๋๋ค.
*์ฟผ๋ฆฌ๋ TPC-DS ํ์ค ๋ฐ TPC-H ํ์ค์์ ํ์๋์์ผ๋ฉฐ, ์ด๋ฌํ ์คํ์ TPC-DS ํ์ค ๋ฐ TPC-H ํ์ค ์ฌ์์ ๋ชจ๋ ์๊ตฌ์ฌํญ์ ์ค์ํ์ง ์์ผ๋ฏ๋ก ๊ฒ์๋ TPC-DS ํ์ค ๋ฐ TPC-H ํ์ค ๊ฒฐ๊ณผ์ ๋น๊ตํ ์ ์์ต๋๋ค.
**Compute Engine ๊ธฐ๋ฐ Dataproc ํ๋ฆฌ๋ฏธ์ ๋ฑ๊ธ์์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
๋ค์ํ ๋จธ์ ์ ํ(GPU ํฌํจ), ์ ์ ํ VM, ๋์คํฌ ์ต์ , ์๋ ํ์ฅ ์ ์ฑ , ์ด๊ธฐํ ์์ , ์ปจํ ์ด๋/์ด๋ฏธ์ง, ์ ํ์ ๊ตฌ์ฑ์์๋ฅผ ์ฌ์ฉํ์ฌ Dataproc ํด๋ฌ์คํฐ๋ฅผ ๋ง์ถค์ค์ ํฉ๋๋ค. ์ํฌํ๋ก ํ ํ๋ฆฟ๊ณผ ๊ฐ์ ๊ธฐ๋ฅ์ ์ฌ์ฉํ์ฌ ๋ณต์กํ ์์ ์ ์กฐ์ ํ๊ณ ์ฝ์, gcloud, API ๋๋ ํด๋ผ์ด์ธํธ ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ํตํด ํด๋ฌ์คํฐ๋ฅผ ๊ด๋ฆฌํฉ๋๋ค. ํฌ๊ด์ ์ธ ์ธก์ ํญ๋ชฉ, ๋์๋ณด๋, ์๋ฆผ ๊ธฐ๋ฅ์ ์ ๊ณตํ๋ Cloud Monitoring๊ณผ ํตํฉํ์ฌ ํด๋ฌ์คํฐ ์ฑ๋ฅ ๋ฐ ์ํ์ ๋ํ ์ฌ์ธต์ ์ธ ๊ฐ์์ฑ์ ํ๋ณดํฉ๋๋ค.
Dataproc ํด๋ฌ์คํฐ๋ BigLake Metastore์ ๊ธฐ๋ณธ์ ์ผ๋ก ํตํฉ๋๋ฏ๋ก Cloud Storage ๊ธฐ๋ฐ Apache Iceberg์ ๊ฐ์ ๊ฐ๋ฐฉํ ํ์์ผ๋ก ์ ์ฅ๋ ๋ฐ์ดํฐ๋ฅผ ์ฒ๋ฆฌํ ์ ์์ต๋๋ค. ๊ธฐ์กด์ Hive ๊ธฐ๋ฐ ๋ฉํ๋ฐ์ดํฐ ์๊ตฌ์ฌํญ์ ๊ฒฝ์ฐ ๊ด๋ฆฌํ Dataproc Metastore ์๋น์ค์ ์ํํ๊ฒ ํตํฉ๋ฉ๋๋ค. Dataplex ๋ฒ์ฉ ์นดํ๋ก๊ทธ๋ฅผ ํ์ฉํ์ฌ ๋ ์ดํฌํ์ฐ์ค ์ ์ ์ ๋ฐ์์ ํตํฉ ํ์, ๊ณ๋ณด, ๊ฑฐ๋ฒ๋์ค๋ฅผ ์คํํ์ธ์. Dataproc์ BigQuery, Vertex AI, Spanner, Pub/Sub, Data Fusion์ ์ฐ๊ฒฐํ์ฌ ๊ฐ๋ ฅํ ์๋ ํฌ ์๋ ์๋ฃจ์ ์ ๋ง๋ค์ด ๋ฐ์ดํฐ ์ ํ๋ฆฌ์ผ์ด์ ์ ํ์ฅํ์ธ์.
Google Cloud์ ๊ฐ๋ ฅํ ๋ณด์ ๊ธฐ๋ฅ์ ํ์ฉํ์ธ์. Kerberos๋ฅผ ๊ตฌ์ฑํ๊ณ , IAM์ผ๋ก ์ก์ธ์ค๋ฅผ ๊ด๋ฆฌํ๊ณ , VPC ์๋น์ค ์ ์ด๋ก ๋คํธ์ํฌ ์ ์ฑ ์ ์ ์ฉํ๊ณ , CMEK๋ฅผ ์ฌ์ฉํฉ๋๋ค. Dataplex ๋ฒ์ฉ ์นดํ๋ก๊ทธ์ ํตํฉํ์ฌ ์ค์ ์ง์ค์ ์ ์ฑ ๊ด๋ฆฌ๋ฅผ ์ํํ๊ณ BigLake๋ก ์ธ๋ถํ๋ ์ก์ธ์ค ์ ์ด๋ฅผ ์ง์ํฉ๋๋ค.
๋ ธํธ๋ถ์์ ์คํ๋๋ Jupyter ๋ฐ VS Code IDE์ ๊ฐ์ ์ต์ํ ๋๊ตฌ์ IDE๋ฅผ ํ์ฉํ์ฌ Dataproc ํด๋ฌ์คํฐ๋ฅผ ์ฐ๊ฒฐํฉ๋๋ค. ํด๋ฌ์คํฐ์์ ๋ํํ Spark ๊ฐ๋ฐ์ ์ํด Dataproc์ Vertex AI Workbench์ ํตํฉํ๊ณ ์๋ ํฌ ์๋ Vertex AI๋ฅผ ์ฌ์ฉํ AI/ML ํ์ดํ๋ผ์ธ์ ๋น๋ํ์ธ์.
์ผ๋ฐ์ ์ธ ์ฉ๋
๋ฐ์ดํฐ ๋ ์ดํฌ ํ๋ํ
์จํ๋ ๋ฏธ์ค Hadoop ๋ฐ Spark ์ํฌ๋ก๋๋ฅผ ํด๋ผ์ฐ๋๋ก ๊ฐํธํ๊ฒ ๋ง์ด๊ทธ๋ ์ด์ ํ์ธ์. Dataproc์ ์ฌ์ฉํ์ฌ Dataproc Metastore์ ํตํฉ๋๊ณ Dataplex ๋ฒ์ฉ ์นดํ๋ก๊ทธ๋ก ์ ์ด๋๋ Cloud Storage์ ๋ฐ์ดํฐ์ ๋ํด ๋งต๋ฆฌ๋์ค, Hive, ํผ๊ทธ, Spark ์์ ์ ์คํํฉ๋๋ค.
๋ฐ์ดํฐ ๋ ์ดํฌ ํ๋ํ
์จํ๋ ๋ฏธ์ค Hadoop ๋ฐ Spark ์ํฌ๋ก๋๋ฅผ ํด๋ผ์ฐ๋๋ก ๊ฐํธํ๊ฒ ๋ง์ด๊ทธ๋ ์ด์ ํ์ธ์. Dataproc์ ์ฌ์ฉํ์ฌ Dataproc Metastore์ ํตํฉ๋๊ณ Dataplex ๋ฒ์ฉ ์นดํ๋ก๊ทธ๋ก ์ ์ด๋๋ Cloud Storage์ ๋ฐ์ดํฐ์ ๋ํด ๋งต๋ฆฌ๋์ค, Hive, ํผ๊ทธ, Spark ์์ ์ ์คํํฉ๋๋ค.
์ํฐํ๋ผ์ด์ฆ ์ผ๊ด ์ฒ๋ฆฌ
Compute Engine ๊ธฐ๋ฐ Dataproc์ Lightning Engine์ผ๋ก ๊ฐ์ํ๋ Spark ๋๋ ๋ง์ถค์ค์ ๊ฐ๋ฅํ Dataproc ํด๋ฌ์คํฐ์ ๋งต๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ๋ณํํฉ๋๋ค. ํต์ ๋ ํ๊ฒฝ์์ ๋ณต์กํ ETL ํ์ดํ๋ผ์ธ์ ์ต์ ํํ์ฌ ์ฑ๋ฅ๊ณผ ๋น์ฉ์ ์ ๊ฐํฉ๋๋ค.
์ํฐํ๋ผ์ด์ฆ ์ผ๊ด ์ฒ๋ฆฌ
Compute Engine ๊ธฐ๋ฐ Dataproc์ Lightning Engine์ผ๋ก ๊ฐ์ํ๋ Spark ๋๋ ๋ง์ถค์ค์ ๊ฐ๋ฅํ Dataproc ํด๋ฌ์คํฐ์ ๋งต๋ฆฌ๋์ค๋ฅผ ์ฌ์ฉํ์ฌ ๋๊ท๋ชจ ๋ฐ์ดํฐ ์ธํธ๋ฅผ ํจ์จ์ ์ผ๋ก ์ฒ๋ฆฌํ๊ณ ๋ณํํฉ๋๋ค. ํต์ ๋ ํ๊ฒฝ์์ ๋ณต์กํ ETL ํ์ดํ๋ผ์ธ์ ์ต์ ํํ์ฌ ์ฑ๋ฅ๊ณผ ๋น์ฉ์ ์ ๊ฐํฉ๋๋ค.
๋๊ท๋ชจ ์ปค์คํ ๋ฐ์ดํฐ ๊ณผํ
ํน์ ๋ฒ์ ์ Spark, Jupyter, ํ์ํ ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชฉ์ ์ ๋ง๊ฒ ๋น๋๋ Dataproc ํด๋ฌ์คํฐ๋ฅผ ๊ฐ๋ํ์ฌ ๋๊ท๋ชจ ํ์ ์ ๋ชจ๋ธ ํ์ต ๋ฐ ๊ณ ๊ธ ๋ถ์์ ์ํํ ์ ์์ต๋๋ค. MLOps๋ฅผ ์ํ Vertex AI์ ํตํฉํ์ธ์.
๋๊ท๋ชจ ์ปค์คํ ๋ฐ์ดํฐ ๊ณผํ
ํน์ ๋ฒ์ ์ Spark, Jupyter, ํ์ํ ML ๋ผ์ด๋ธ๋ฌ๋ฆฌ๋ฅผ ์ฌ์ฉํ์ฌ ๋ชฉ์ ์ ๋ง๊ฒ ๋น๋๋ Dataproc ํด๋ฌ์คํฐ๋ฅผ ๊ฐ๋ํ์ฌ ๋๊ท๋ชจ ํ์ ์ ๋ชจ๋ธ ํ์ต ๋ฐ ๊ณ ๊ธ ๋ถ์์ ์ํํ ์ ์์ต๋๋ค. MLOps๋ฅผ ์ํ Vertex AI์ ํตํฉํ์ธ์.
์ ์ฐํ OSS
๋ํํ SQL์ ์ํ Trino, ๊ณ ๊ธ ์คํธ๋ฆผ ์ฒ๋ฆฌ๋ฅผ ์ํ Flink ๋๋ ๊ธฐํ ํนํ๋ ์คํ์์ค ์์ง๊ณผ ํจ๊ป Spark ๋ฐ Hadoop์ ์ฌ์ฉํด ์ ์ฉ ํด๋ฌ์คํฐ๋ฅผ ๋ฐฐํฌํ์ธ์. ๋ชจ๋ Dataproc์์ ๊ด๋ฆฌํฉ๋๋ค.
์ ์ฐํ OSS
๋ํํ SQL์ ์ํ Trino, ๊ณ ๊ธ ์คํธ๋ฆผ ์ฒ๋ฆฌ๋ฅผ ์ํ Flink ๋๋ ๊ธฐํ ํนํ๋ ์คํ์์ค ์์ง๊ณผ ํจ๊ป Spark ๋ฐ Hadoop์ ์ฌ์ฉํด ์ ์ฉ ํด๋ฌ์คํฐ๋ฅผ ๋ฐฐํฌํ์ธ์. ๋ชจ๋ Dataproc์์ ๊ด๋ฆฌํฉ๋๋ค.
๊ฐ๊ฒฉ ์ฑ ์
๊ด๋ฆฌํ ํด๋ฌ์คํฐ์ Dataproc ๊ฐ๊ฒฉ ์ฑ ์ | Dataproc์ ์ฌ์ฉํ ๋งํผ๋ง ์ง๋ถํ๋ ๋ฐฉ์์ ๊ฐ๊ฒฉ ์ฑ ์ ์ ์ ๊ณตํฉ๋๋ค. ์๋ ํ์ฅ ๋ฐ ์ ์ ํ VM์ผ๋ก ๋น์ฉ์ ์ต์ ํํ์ธ์. Compute Engine ํ๋ฆฌ๋ฏธ์ ๋ฑ๊ธ์ Lightning Engine์ ํตํด ๋ ๋น ๋ฅธ Spark๋ฅผ ์ง์ํฉ๋๋ค. |
---|---|
์ฃผ์ ๊ตฌ์ฑ์์: |
|
์: | ๊ฐ๊ฐ 2์๊ฐ ๋์ ์คํ๋ CPU๊ฐ 4๊ฐ์ด๊ณ ๋ ธ๋(๊ธฐ๋ณธ 1๊ฐ + ์์ ์ 5๊ฐ)๊ฐ 6๊ฐ์ธ ํด๋ฌ์คํฐ์ ๋น์ฉ์ $0.48์ ๋๋ค. Dataproc ์๊ธ = vCPU ์ * ์๊ฐ * Dataproc ๊ฐ๊ฒฉ = 24 * 2 * $0.01 = $0.48 |
๊ด๋ฆฌํ ํด๋ฌ์คํฐ์ Dataproc ๊ฐ๊ฒฉ ์ฑ ์
Dataproc์ ์ฌ์ฉํ ๋งํผ๋ง ์ง๋ถํ๋ ๋ฐฉ์์ ๊ฐ๊ฒฉ ์ฑ ์ ์ ์ ๊ณตํฉ๋๋ค. ์๋ ํ์ฅ ๋ฐ ์ ์ ํ VM์ผ๋ก ๋น์ฉ์ ์ต์ ํํ์ธ์. Compute Engine ํ๋ฆฌ๋ฏธ์ ๋ฑ๊ธ์ Lightning Engine์ ํตํด ๋ ๋น ๋ฅธ Spark๋ฅผ ์ง์ํฉ๋๋ค.
์ฃผ์ ๊ตฌ์ฑ์์:
์:
๊ฐ๊ฐ 2์๊ฐ ๋์ ์คํ๋ CPU๊ฐ 4๊ฐ์ด๊ณ ๋ ธ๋(๊ธฐ๋ณธ 1๊ฐ + ์์ ์ 5๊ฐ)๊ฐ 6๊ฐ์ธ ํด๋ฌ์คํฐ์ ๋น์ฉ์ $0.48์ ๋๋ค. Dataproc ์๊ธ = vCPU ์ * ์๊ฐ * Dataproc ๊ฐ๊ฒฉ = 24 * 2 * $0.01 = $0.48