코드베이스 기초
코드베이스 기초 (Codebase Basics)
Apache Pinot 소스 코드를 내 머신에 가져오고, 저장소가 어떻게 구성되어 있는지 이해하고, Maven 의존성을 올바르게 관리하며, 소스에서 Docker 이미지를 빌드하는 방법을 다루는 문서예요.
출처: 문서
본문
이 섹션은 Apache Pinot 소스 코드를 내 머신에 가져오고, 저장소가 어떻게 구성되어 있는지 이해하고, Maven 의존성을 올바르게 관리하며, 소스에서 Docker 이미지를 빌드하는 방법을 도와줘요.
배울 내용 (What you will learn)
| 주제 | 설명 |
|---|---|
| 코드 설정 (Code Setup) | Pinot 저장소를 fork·clone하고, Maven을 설치하고, IDE를 구성하고, 소스에서 로컬 QuickStart를 실행한다. |
| 코드 모듈과 구성 (Code Modules and Organization) | 모든 최상위 Maven 모듈 -- SPI, 핵심 서비스, 플러그인, 커넥터, 테스트, 배포 아티팩트를 이해한다. |
| 의존성 관리 (Dependency Management) | 핵심 모듈과 플러그인 양쪽에서 외부 의존성을 추가·업데이트·셰이딩하는 프로젝트 지침을 따른다. |
| Docker 이미지 빌드 (Build Docker Images) | ARM64 빌드를 포함해 어떤 브랜치·fork에서든 Pinot·Pinot-Superset Docker 이미지를 빌드한다. |
권장 읽기 순서 (Recommended reading order)
- 코드 설정 (Code Setup) -- 여기서 시작해 동작하는 로컬 빌드를 확보한다.
- 코드 모듈과 구성 (Code Modules and Organization) -- 코드를 어디에 두고 찾을지 배운다.
- 의존성 관리 (Dependency Management) -- 새 라이브러리 추가 전에 규칙을 검토한다.
- Docker 이미지 빌드 (Build Docker Images) -- 변경 사항을 테스트·배포용 컨테이너 이미지로 패키징한다.
사전 요구 사항 (Prerequisites)
- GitHub용 SSH 키로 설치·구성된 Git
- JDK 25
- Apache Maven 3.6 이상
- Docker(컨테이너 이미지 빌드에만 필요)
다음 단계 (Next step)
코드베이스 탐색에 익숙해지면, 커스텀 플러그인으로 Pinot를 확장하는 방법을 배워요: