728x90
๋ฐ์ํ
๐ ๋ชฉ์ฐจ
- GE(Great Expectations)๋?
- GE๋ฅผ ์ ์ฐ๋? (DE ๊ด์ )
- GE ํต์ฌ ๊ฐ๋
- GE ๊ธฐ๋ณธ ์ฌ์ฉ ํ๋ฆ
- DE ์ค๋ฌด์์ GE ์ฐ๋ ํจํด
- ์ธ์ GE๊ฐ ์ ๋ง๊ณ , ์ ๋ง๋
1๏ธโฃ GE(Great Expectations)๋?
GE = Great Expectations๋
๐ ๋ฐ์ดํฐ ํ์ง(Data Quality)์ ์ฝ๋์ฒ๋ผ ์ ์ํ๊ณ ์๋ ๊ฒ์ฆํ๋ ์คํ์์ค ํด์ด์ผ.
ํ ์ค ์์ฝํ๋ฉด,
“๋ฐ์ดํฐ์ ๋ํ ๊ธฐ๋ ์กฐ๊ฑด(Expectation)์ ์ ์ํ๊ณ
์ค์ ๋ฐ์ดํฐ๊ฐ ๊ทธ ๊ธฐ๋๋ฅผ ๋ง์กฑํ๋์ง ์๋์ผ๋ก ๊ฒ์ฌ”
๐ ์:
- row ์๊ฐ ๋๋ฌด ์ค์ง ์์๋๊ฐ?
- NULL ์ด ์์ผ๋ฉด ์ ๋๋ ์ปฌ๋ผ์ NULL ์ด ์๋๊ฐ?
- ๊ฐ์ด ํ์ฉ ๋ฒ์๋ฅผ ๋ฒ์ด๋์ง ์์๋๊ฐ?
์ด๊ฑธ ์ฌ๋์ด ๋์ผ๋ก ์ ๋ณด๊ณ , ์๋์ผ๋ก ๊ฒ์ฌํด์ค.



2๏ธโฃ GE๋ฅผ ์ ์ฐ๋? (DE ๊ด์ )
โ GE ์์ด DQ ํ๋ฉด
- SQL ์ฌ๊ธฐ์ ๊ธฐ ํฉ์ด์ง
- ๊ธฐ์ค์ด ๋ฌธ์๋ก๋ง ์กด์ฌ
- ๋๊ฐ ์ด๋ค DQ๋ฅผ ํ๋์ง ๋ชจ๋ฆ
- ์คํจํด๋ ๊ทธ๋ฅ ์ง๋๊ฐ
โ GE ์ฐ๋ฉด
- DQ ๊ธฐ์ค์ด ์ฝ๋๋ก ๊ด๋ฆฌ
- ํ์ดํ๋ผ์ธ์ ์๋ ํฌํจ
- ์คํจ ์ ์ฆ์ ๊ฐ์ง
- ๋ฆฌํฌํธ/๋ก๊ทธ ์๋ ์์ฑ
๐ ๊ทธ๋์ GE๋
**“DE์ฉ DQ ํ
์คํธ ํ๋ ์์ํฌ”**๋ผ๊ณ ๋ณด๋ฉด ๋ฑ ๋ง์.
3๏ธโฃ GE ํต์ฌ ๊ฐ๋ (์ด๊ฑฐ ์ค์ โญ)
GE๋ ์๋ 4๊ฐ์ง๋ง ์ดํดํ๋ฉด ๋ผ.
๐น 1. Data Source
- ๋ฐ์ดํฐ๊ฐ ์ด๋ ์๋?
- DB, DWH, S3, Pandas, Spark ๋ฑ
๐น 2. Expectation
- ๋ฐ์ดํฐ๊ฐ ๋ง์กฑํด์ผ ํ ์กฐ๊ฑด
- ์:
- NOT NULL
- UNIQUE
- ๋ฒ์ ์ฒดํฌ
- row count ๋น๊ต
๐น 3. Expectation Suite
- Expectation๋ค์ ๋ฌถ์
- ํ ์ด๋ธ ๋จ์ / ํ์ดํ๋ผ์ธ ๋จ์
๐น 4. Validation
- ์ค์ ๋ฐ์ดํฐ vs Expectation ๋น๊ต ๊ฒฐ๊ณผ
- PASS / FAIL
4๏ธโฃ GE ๊ธฐ๋ณธ ์ฌ์ฉ ํ๋ฆ (์์ ๊ธฐ์ตํ๋ฉด ๋)
๐งญ ์ ์ฒด ํ๋ฆ
๋ฐ์ดํฐ ์ฐ๊ฒฐ
↓
Expectation ์ ์
↓
Validation ์คํ
↓
๊ฒฐ๊ณผ ์ ์ฅ / ์คํจ ์ฒ๋ฆฌ
๐น Step 1. ๋ฐ์ดํฐ ์ฐ๊ฒฐ
- DB (BigQuery, Snowflake, Postgres ๋ฑ)
- ํ์ผ (CSV, Parquet)
- Spark DataFrame
๐น Step 2. Expectation ์ ์ (DQ ๋ฃฐ ์์ฑ)
๋ํ์ ์ธ Expectation ์:
- NOT NULL
- UNIQUE
- ๊ฐ ๋ฒ์
- row count
- ์ ๊ท์ ํฌ๋งท
๐ “ํ ์คํธ ์ฝ๋ ์ฐ๋ฏ์ด” DQ๋ฅผ ์ ์ํจ
๐น Step 3. Validation ์คํ
- ํ์ดํ๋ผ์ธ ์ค๊ฐ์ ์คํ
- ๊ฒฐ๊ณผ๊ฐ FAIL์ด๋ฉด:
- Airflow task ์คํจ
- downstream ์ฐจ๋จ
- Slack ์๋ฆผ
๐น Step 4. ๊ฒฐ๊ณผ ๋ฆฌํฌํธ
- ์ด๋ค ์ปฌ๋ผ์ด
- ์ด๋ค ์กฐ๊ฑด์์
- ์ ์คํจํ๋์ง
๐ ์ฌ๋์ด ๋ฐ๋ก ์ดํด ๊ฐ๋ฅ
5๏ธโฃ DE ์ค๋ฌด์์ GE ์ฐ๋ ํจํด โญโญโญ
โ ๊ฐ์ฅ ํํ ํจํด
๐ข Airflow + GE
- ETL ๋ → GE ์คํ
- FAIL → DAG ์คํจ
- SUCCESS → ๋ค์ ๋จ๊ณ ์งํ
๐ข DWH ํ ์ด๋ธ ๊ฒ์ฆ
- ์ ์ฌ ์งํ DQ ์ฒดํฌ
- ๋ถ์๊ฐ ์ฌ์ฉ ์ ๋ฐฉ์ด
๐ข ๋ฐฐ์น ํ์ดํ๋ผ์ธ
- ๋งค์ผ ๋์ผํ Expectation ์คํ
- ํ์ง ์ถ์ด ์ถ์
๐ ์ค์ ๋ก ๋ง์ด ์ฐ๋ DQ ์
- row count ์ ์ผ ๋๋น ±X%
- PK ์ค๋ณต ์์
- NOT NULL ์ปฌ๋ผ NULL = 0
- ๋ ์ง ํฌ๋งท ์ค๋ฅ ์์
- ์ต์ ๋ฐ์ดํฐ ์กด์ฌ
6๏ธโฃ ์ธ์ GE๊ฐ ์ ๋ง๊ณ , ์ ๋ง๋?
โ GE๊ฐ ์ ๋ง๋ ๊ฒฝ์ฐ
- ๋ฐฐ์น ETL
- ํ ์ด๋ธ ๋จ์ DQ
- SQL ๊ธฐ๋ฐ DWH
- Airflow ์ฌ์ฉ ์ค
โ GE๊ฐ ์ ๋ง๋ ๊ฒฝ์ฐ
- ์ด์ค์๊ฐ ์คํธ๋ฆฌ๋ฐ
- ms ๋จ์ ๊ฒ์ฆ
- ์ด๋์ฉ๋ Spark ํต๊ณ ๊ธฐ๋ฐ (→ Deequ๊ฐ ๋ ์ ํฉ)
๐ฏ ํต์ฌ ์์ฝ
GE๋ “DQ๋ฅผ ํ ์คํธ ์ฝ๋์ฒ๋ผ ๊ด๋ฆฌํ๋ ๋๊ตฌ”
- ์ฌ๋์ด ๋์ผ๋ก โ
- ๋ฌธ์๋ก๋ง โ
- ์๋ + ์ฝ๋ ๊ธฐ๋ฐ โ
728x90
๋ฐ์ํ
'DataEngineering > Data Quality' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| GE ์ค์ ์ฝ๋ ์์ (0) | 2026.02.01 |
|---|---|
| DQ Tools (0) | 2026.02.01 |
| Data Quality ๊ฒ์ฆ์ ์ด๋ป๊ฒ ํ๋๊ฐ? (0) | 2026.02.01 |
| DQ(Data Quality)๋? (0) | 2026.02.01 |