← 학습 카테고리

Learn

Elasticsearch

50개 모듈 · 현재 40번째

Elasticsearch 모듈 40/50 elasticsearch-learn-40

Transform API — 이벤트 로그를 엔티티 중심 뷰로 재구성한다

Elasticsearch Field Collapsing 및 Transform API 공식 문서 종합 (웹 리서치, 2026) — Elastic 공식 문서(collapse-search-results, transform-overview, transform-limitations) Elastic 공식문서 Transforms overview

이 모듈을 다 읽으면

  • Transform이 elasticsearch-learn-16의 Downsampling과 목적이 어떻게 다른지 구분할 수 있다
  • continuous transform이 체크포인트 기반으로 어떻게 변경분만 반영하는지 설명할 수 있다

elasticsearch-learn-16에서 다룬 Downsampling(시계열 데이터를 시간 축으로 압축하는 전용 기능)과 대비해, Transform이 시계열에 국한되지 않고 이벤트 로그를 엔티티(사용자·세션 등) 중심의 새 인덱스로 재구성하는 일반 목적 도구라는 것을 정리한다.

pivot — 이벤트를 엔티티 중심 인덱스로 재구성

Transform의 pivot 방식은 데이터를 group by 필드와 집계 기준으로 묶어 재구성한다 — 예를 들어 사용자별로 흩어진 여러 이벤트 로그를, '사용자 하나당 문서 하나'로 요약된 엔티티 중심(entity-centric) 인덱스로 만들어낸다. elasticsearch-learn-16의 Downsampling이 '시간 축으로' 데이터를 압축하는 시계열 전용 기능이라면, Transform의 pivot은 사용자·세션·트랜잭션처럼 임의의 엔티티 축으로 데이터를 재구성하는 훨씬 더 범용적인 도구다.

핵심 포인트

  • pivot: group by 필드+집계로 이벤트 로그를 엔티티(사용자·세션 등) 중심의 새 인덱스로 재구성
  • Downsampling(module16)은 시계열 데이터를 시간 축으로 압축하는 전용 기능 — Transform pivot은 시계열에 국한 안 되는 범용 재구조화 도구

Continuous Transform — 체크포인트 기반으로 변경분만 반영

Transform을 continuous 모드로 돌리면, 정기적으로 체크포인트를 실행해 '지난 체크포인트 이후 어떤 엔티티가 바뀌었는지'를 계산하고, 그 바뀐 엔티티들에 대해서만 집계를 다시 실행한다 — 전체를 매번 다시 계산하는 게 아니라 변경분만 반영하는 증분 처리다. 계속 돌아가는 동안 새로운 고유 키 값은 대상 인덱스에 자동으로 추가되고, 기존 키의 최신 문서는 매 체크포인트마다 자동으로 갱신된다. wait_for_checkpoint 파라미터를 true로 주면, 현재 진행 중인 체크포인트가 끝날 때까지 기다렸다가 transform을 종료시킬 수도 있다.

핵심 포인트

  • continuous transform: 체크포인트마다 '지난 체크포인트 이후 바뀐 엔티티'만 계산해 재집계하는 증분 처리
  • 새 키 값은 자동 추가, 기존 키의 최신 문서는 매 체크포인트마다 자동 갱신 — wait_for_checkpoint=true로 진행 중인 체크포인트 완료를 기다린 뒤 종료 가능