본문으로 건너뛰기

시딩 가이드

샘플 데이터를 GenD 환경에 적재하는 방법을 설명합니다.

사전 요구사항

  • Kind 클러스터(gend-local)가 실행 중이어야 합니다
  • PostgreSQL, Trino, SeaweedFS 서비스가 정상 동작해야 합니다
  • port-forward가 설정되어 있어야 합니다 (Trino: 30080, PostgreSQL: 5433)

빠른 시작

# demo 스케일로 전체 시드 실행
make seed-demo

수동 실행

cd scripts/seed

# 1. 데이터 생성 (Parquet + CSV)
python -m seed.generate --scale demo

# 2. PostgreSQL 적재 (sourcedb, card_crm, card_log)
python -m seed.load_pg --scale demo

# 3. Iceberg 적재 (SeaweedFS → Trino)
python -m seed.load_iceberg --scale demo

스케일 팩터 선택

스케일고객거래소요 시간용도
tiny1K10K~30초단위 테스트, CI
demo100K1M~5분PoC 시연
perf5M50M~60분성능 벤치마크

환경 변수

변수기본값설명
GEND_SOURCEDB_HOSTlocalhostPostgreSQL 호스트
GEND_SOURCEDB_PORT5433PostgreSQL 포트
GEND_SOURCEDB_USERgendPostgreSQL 사용자
GEND_SOURCEDB_PASSWORDgendPostgreSQL 비밀번호
GEND_TRINO_HOSTlocalhostTrino 호스트
GEND_TRINO_PORT30080Trino 포트

출력 디렉토리

생성된 Parquet/CSV 파일은 scripts/data/card_demo/{scale}/ 디렉토리에 저장됩니다.

시드 테스트

cd apps/api
.venv/bin/python -m pytest ../../scripts/test_seed*.py -v
# 128 tests

데이터 검증

시드 완료 후 Trino에서 확인:

SELECT COUNT(*) FROM iceberg.card.transactions;
SELECT COUNT(*) FROM sourcedb.public.customers;