๋ฐ˜์‘ํ˜•
kkh1902
Steadily
kkh1902
์ „์ฒด ๋ฐฉ๋ฌธ์ž
์˜ค๋Š˜
์–ด์ œ
  • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (178) N
    • DataEngineering (20) N
      • Spark (7) N
      • Airflow (2) N
      • DBT (2) N
      • Architecture (3) N
      • Data Quality (5) N
      • Infra (1) N
    • ๐Ÿค– AI (12) N
      • ML (7)
      • DL (0)
      • LLM (5) N
    • ๐Ÿ“š Study (74)
      • DataEngineering (0)
      • Spring (9)
      • Java (2)
      • Html, css (10)
      • JS, JQuery (29)
      • DB (5)
      • DevOps (13)
      • roadmap (2)
      • Architecture (1)
      • Flutter (2)
    • ๐Ÿ’ป Computer Science (28)
      • Datastructure (0)
      • Algorithm (2)
      • Design pattern (0)
      • Network (1)
      • DB (13)
      • Operating System (0)
      • Software Engineering (4)
      • CS interview (5)
      • topcit (3)
    • โš’๏ธ Etc (6)
      • Error (3)
      • Trouble_Shooting (2)
      • Dev_environment (1)
    • ๐Ÿ“ฐ News (24)
      • daily (7)
      • think (17)
    • ๐Ÿ“˜ Hobby (13)
      • English (13)

๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

  • ๐Ÿ“‹ ์ด๋ ฅ์„œ
  • โšก๏ธ ๊นƒํ—ˆ๋ธŒ
  • ํƒœ๊ทธ
  • ๋ฐฉ๋ช…๋ก

๊ณต์ง€์‚ฌํ•ญ

์ธ๊ธฐ ๊ธ€

ํƒœ๊ทธ

  • Linear Regression
  • testcode
  • sourcetreee
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ #project๋งŒ๋“ค๋•Œ ์ค‘์š”
  • SpringBootTest
  • db
  • think #bootstrap์„ ์จ์•ผํ•˜๋Š” ์ด์œ 
  • React JS # ์ž์Šต์„œ # Component์™€ Props
  • Flutter
  • junit5
  • React๋ฅผ ๋ฐฐ์›Œ์•ผํ•˜๋Š” ์ด์œ 
  • React JS #์ž์Šต์„œ
  • Wonder # word
  • React JS # 2 The Basic of React
  • git
  • gitaction
  • ์†Œํ”„ํŠธ์›จ์–ด ๊ณตํ•™ # chapter1
  • React # JSX
  • git stash
  • Qr_payment project # CSS ํ•ด์„ # Basic ๋งจ์œ„ ํ•ด์„

์ตœ๊ทผ ๋Œ“๊ธ€

์ตœ๊ทผ ๊ธ€

ํ‹ฐ์Šคํ† ๋ฆฌ

250x250
hELLO ยท Designed By ์ •์ƒ์šฐ.
๊ธ€์“ฐ๊ธฐ / ๊ด€๋ฆฌ์ž
kkh1902

Steadily

DataEngineering/Data Quality

Data Quality ๊ฒ€์ฆ์€ ์–ด๋–ป๊ฒŒ ํ•˜๋Š”๊ฐ€?

2026. 2. 1. 21:26
728x90
๋ฐ˜์‘ํ˜•

 

๐Ÿ“Œ ๋ชฉ์ฐจ

  1. DQ๋ฅผ “ํ•œ๋‹ค”๋Š” ๊ฒƒ์˜ ์˜๋ฏธ
  2. DE์—์„œ DQ ์ „์ฒด ํ๋ฆ„
  3. ๋‹จ๊ณ„๋ณ„ DQ ์ˆ˜ํ–‰ ๋ฐฉ๋ฒ• (์‹ค๋ฌด)
  4. DQ ๋ฃฐ ์˜ˆ์‹œ ๋ชจ์Œ
  5. ์ฒ˜์Œ DQ ์‹œ์ž‘ํ•  ๋•Œ ์ถ”์ฒœ ๋ฐฉ์‹

1๏ธโƒฃ DQ๋ฅผ “ํ•œ๋‹ค”๋Š” ๊ฒƒ์˜ ์˜๋ฏธ

DE์—์„œ DQ๋ฅผ ํ•œ๋‹ค๋Š” ๊ฑด ๋‹จ์ˆœํžˆ ์ฒดํฌ ํ•œ ๋ฒˆ์ด ์•„๋‹ˆ๋ผ,

๋ฐ์ดํ„ฐ ํŒŒ์ดํ”„๋ผ์ธ ์•ˆ์—
์ž๋™์œผ๋กœ ํ’ˆ์งˆ ๊ฒ€์‚ฌ๋ฅผ ๋„ฃ๊ณ 
์ด์ƒ ์‹œ ๊ฐ์ง€·์•Œ๋ฆผ·์ฐจ๋‹จ๊นŒ์ง€ ํ•˜๋Š” ๊ฒƒ

์„ ๋งํ•ด.

โœ” ์ž๋™ํ™”
โœ” ๋ฐ˜๋ณต ๊ฐ€๋Šฅ
โœ” ์‹คํŒจ ์‹œ ์•ก์…˜ ์กด์žฌ

์ด 3๊ฐœ๊ฐ€ ์—†์œผ๋ฉด “DQ๋ฅผ ํ•œ๋‹ค”๋ผ๊ณ  ๋ณด๊ธฐ ํž˜๋“ค์–ด.


2๏ธโƒฃ DE์—์„œ DQ ์ „์ฒด ํ๋ฆ„

๐Ÿงญ ํฐ ๊ทธ๋ฆผ

๋ฐ์ดํ„ฐ ์ˆ˜์ง‘
   ↓
[1์ฐจ DQ] ์–‘ / ๋ˆ„๋ฝ ์ฒดํฌ
   ↓
๋ฐ์ดํ„ฐ ๊ฐ€๊ณต
   ↓
[2์ฐจ DQ] ๊ฐ’ / ๋ฃฐ ๊ฒ€์ฆ
   ↓
๋ฐ์ดํ„ฐ ์ €์žฅ
   ↓
[3์ฐจ DQ] ์Šคํ‚ค๋งˆ / PK / ์ตœ์‹ ์„ฑ
   ↓
์•Œ๋ฆผ · ์ฐจ๋‹จ · ๋กœ๊ทธ


3๏ธโƒฃ ๋‹จ๊ณ„๋ณ„ DQ ์ˆ˜ํ–‰ ๋ฐฉ๋ฒ• (์‹ค๋ฌด)

๐Ÿ“ฅ 1. ์ˆ˜์ง‘ ๋‹จ๊ณ„ DQ (Ingestion)

๋ชฉํ‘œ: “๋ฐ์ดํ„ฐ๊ฐ€ ์ œ๋Œ€๋กœ ๋“ค์–ด์™”๋‚˜?”

โœ” ์ฒดํฌ ํ•ญ๋ชฉ

  • row count ์ „์ผ ๋Œ€๋น„ ±X%
  • ์ˆ˜์ง‘ ์„ฑ๊ณต ์—ฌ๋ถ€
  • ํŒŒ์ผ/ํŒŒํ‹ฐ์…˜ ์กด์žฌ ์—ฌ๋ถ€
  • ์ค‘๋ณต ์ˆ˜์ง‘

โœ” ๋ฐฉ์‹

  • SQL row count ๋น„๊ต
  • ๋ฉ”ํƒ€ ํ…Œ์ด๋ธ” ๊ธฐ๋ก
  • ์‹คํŒจ ์‹œ ํŒŒ์ดํ”„๋ผ์ธ STOP

โš™๏ธ 2. ๊ฐ€๊ณต ๋‹จ๊ณ„ DQ (Transformation)

๋ชฉํ‘œ: “๊ฐ€๊ณตํ•˜๋ฉด์„œ ๋ง๊ฐ€์กŒ๋‚˜?”

โœ” ์ฒดํฌ ํ•ญ๋ชฉ

  • NULL ๋น„์œจ
  • ๊ฐ’ ๋ฒ”์œ„ ์ดˆ๊ณผ
  • ๋น„์ฆˆ๋‹ˆ์Šค ๋ฃฐ ์œ„๋ฐ˜
  • ์กฐ์ธ ํ›„ row ๊ธ‰๋ณ€

โœ” ๋ฐฉ์‹

  • ์กฐ๊ฑด COUNT
  • FAIL ์‹œ task ์‹คํŒจ
  • ๋กœ๊ทธ ํ…Œ์ด๋ธ” ์ ์žฌ

๐Ÿ—„๏ธ 3. ์ €์žฅ ๋‹จ๊ณ„ DQ (Serving)

๋ชฉํ‘œ: “์‚ฌ์šฉ์ž๊ฐ€ ๋ฏฟ๊ณ  ์“ธ ์ˆ˜ ์žˆ๋‚˜?”

โœ” ์ฒดํฌ ํ•ญ๋ชฉ

  • PK ์ค‘๋ณต
  • ์Šคํ‚ค๋งˆ ๋ณ€๊ฒฝ
  • ์ตœ์‹  ๋ฐ์ดํ„ฐ ์กด์žฌ
  • ํŒŒํ‹ฐ์…˜ ๋ˆ„๋ฝ

โœ” ๋ฐฉ์‹

  • UNIQUE ๊ฒ€์‚ฌ
  • schema registry
  • freshness ์ฒดํฌ

4๏ธโƒฃ DQ ๋ฃฐ ์˜ˆ์‹œ ๋ชจ์Œ (๋ฐ”๋กœ ์“ฐ๋Š” ์ˆ˜์ค€)

๐Ÿ”น Row Count

ABS(today_cnt - yesterday_cnt) / yesterday_cnt > 0.3 → FAIL

๐Ÿ”น NOT NULL

SELECT COUNT(*) WHERE col IS NULL;

๐Ÿ”น ๋ฒ”์œ„ ์ฒดํฌ

WHERE age < 0 OR age > 120

๐Ÿ”น PK ์ค‘๋ณต

GROUP BY pk HAVING COUNT(*) > 1

๐Ÿ”น Freshness

MAX(event_time) < now() - 2 hours → FAIL

5๏ธโƒฃ ์ฒ˜์Œ DQ ์‹œ์ž‘ํ•  ๋•Œ ์ถ”์ฒœ ๋ฐฉ์‹ โญ

โŒ ์ฒ˜์Œ๋ถ€ํ„ฐ ํ•˜์ง€ ๋ง ๊ฒƒ

  • ๋ชจ๋“  ์ปฌ๋Ÿผ DQ
  • ๋ณต์žกํ•œ ํ†ต๊ณ„ ๋ชจ๋ธ
  • ์™„๋ฒฝํ•œ ๊ทœ์น™

โœ… ์ด๋ ‡๊ฒŒ ์‹œ์ž‘

Top 5 DQ๋งŒ ๋จผ์ €

  1. row count ์ฆ๊ฐ
  2. PK ์ค‘๋ณต
  3. NOT NULL
  4. ๋‚ ์งœ ํŒŒํ‹ฐ์…˜ ์กด์žฌ
  5. ์ตœ์‹  ๋ฐ์ดํ„ฐ ์—ฌ๋ถ€

๐Ÿ‘‰ ์ด 5๊ฐœ๋งŒ ์žˆ์–ด๋„ **์‚ฌ๊ณ ์˜ 80%**๋ฅผ ๋ง‰์•„.


๐ŸŽฏ ํ•ต์‹ฌ ์š”์•ฝ

DQ๋Š” “์ฒดํฌ”๊ฐ€ ์•„๋‹ˆ๋ผ “์‹œ์Šคํ…œ”์ด๋‹ค

  • ์ž๋™
  • ์‹คํŒจ ์‹œ ์•Œ๋ฆผ/์ฐจ๋‹จ
  • ํŒŒ์ดํ”„๋ผ์ธ ์ผ๋ถ€๋กœ ์กด์žฌ

 

728x90
๋ฐ˜์‘ํ˜•

'DataEngineering > Data Quality' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

GE ์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์‹œ  (0) 2026.02.01
GE(Great Expectations) ์ด๋ž€?  (0) 2026.02.01
DQ Tools  (0) 2026.02.01
DQ(Data Quality)๋ž€?  (0) 2026.02.01
    'DataEngineering/Data Quality' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • GE ์‹ค์ œ ์ฝ”๋“œ ์˜ˆ์‹œ
    • GE(Great Expectations) ์ด๋ž€?
    • DQ Tools
    • DQ(Data Quality)๋ž€?
    kkh1902
    kkh1902
    1Day 1 Commit ๋ชฉํ‘œ ๊ณต๋ถ€ํ•œ๊ฒƒ๋“ค ๋งค์ผ ๊ธฐ๋กํ•˜๊ธฐ

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”