LLM WikiAccess-protected knowledge portal

WIKI

PyIceberg 관측: 파일과 스냅샷으로 레이크하우스 상태 읽기

쿼리 성공만으로는 테이블이 건강한지 알 수 없다 Iceberg 테이블은 현재 snapshot이 manifest를 가리키고, manifest가 실제 data file을 가리키는 계층을 가진다. SQL 조회가 성공해도 작은 파일이 쌓이고 있거나, snapshot이 필요 이상으로 늘어나고 있거나, 특정 파티션에 데이터가 몰리는 문제는 숨어 있을 수 있다. PyIceberg는 JVM 없이 Python에서 Iceberg catalog와

경로human/study/content/remember-data-engineering/04-pyiceberg-observability.md
카테고리Study
태그#data #engineering #infra #monitoring #observability #pyiceberg #remember #study

쿼리 성공만으로는 테이블이 건강한지 알 수 없다

Iceberg 테이블은 현재 snapshot이 manifest를 가리키고, manifest가 실제 data file을 가리키는 계층을 가진다. SQL 조회가 성공해도 작은 파일이 쌓이고 있거나, snapshot이 필요 이상으로 늘어나고 있거나, 특정 파티션에 데이터가 몰리는 문제는 숨어 있을 수 있다.

PyIceberg는 JVM 없이 Python에서 Iceberg catalog와 metadata를 읽는 라이브러리다. 리멤버 공개 사례는 S3 Tables가 유지보수 주기를 완전한 지표로 제공하지 않는 경계를 PyIceberg 기반 자체 수집기로 보완했다.

REST Catalog Snapshot Manifest Data File metadata
지표file count·size·partition·null
Iceberg metadata에서 운영 지표까지

1. 먼저 알아야 할 metadata

현재 snapshot이 참조하는 data file마다 다음 정보를 가진다.

항목운영에서 보는 이유
file_path어느 파일이 현재 테이블에 포함되는지 추적
record_count파일별 행 수 편차와 핫 파티션 후보
file_size_in_bytessmall file 비율과 compaction 결과
partition특정 파티션 집중도
null_value_counts컬럼별 결측 증가와 소스 품질 이상
lower_bounds / upper_bounds값 범위 이상과 data skipping 가능성

이 정보는 데이터 파일 전체를 읽지 않고도 확인할 수 있다. 그래서 대규모 테이블의 구조적 이상을 싸게 탐지하는 데 적합하다.

2. 필수 지표와 질문

Total file count

시간에 따라 계속 늘어나면 compaction이 쓰기 속도를 따라잡지 못하고 있을 수 있다. 단순 개수보다 데이터 용량과 함께 봐야 한다.

Small file ratio

목표 파일 크기의 일정 비율 미만을 small file로 분류한다. 리멤버 공개 사례는 512MB의 75% 미만을 사용했다. 다른 워크로드에서는 목표 크기부터 다시 측정해야 한다.

Average·percentile file size

평균만 보면 몇 개의 큰 파일이 수많은 작은 파일을 숨길 수 있다. p50·p90과 히스토그램을 함께 보면 분포를 읽기 쉽다.

Snapshot age·count

최신 snapshot이 오래되었다면 쓰기가 멈춘 것일 수 있다. snapshot 수가 지속적으로 늘면 만료 정책이 작동하는지 확인해야 한다.

3. 경보는 ‘이상한 값’보다 ‘이상한 변화’에 가까워야 한다

테이블마다 파일 수와 쓰기 주기가 다르다. 고정된 small_files > 100만으로는 오탐이 많아진다. 다음을 함께 쓴다.

관측은 자동 복구와 같은 것이 아니다. 경보에서 어느 작업을 재시작하고, 어느 테이블의 커밋 주기를 늘리고, 언제 쿼리 소비자에게 알릴지까지 runbook으로 연결해야 한다.

4. 데이터 품질과 테이블 건강성을 구분한다

null_value_counts가 늘어나는 것은 업무 데이터 품질 문제일 수 있다. small file 급증은 테이블 물리 운영 문제에 가깝다. 두 신호를 같은 대시보드에 보여 줄 수는 있지만 소유자와 중단 기준은 달라야 한다.

References