파일시스템
파일시스템 (File Systems)
Pinot이 지원하는 파일시스템에서 데이터를 가져오는 방법을 보여 주는 짧은 가이드 모음이에요.
출처: File Systems
본문
FileSystem은 분산 파일시스템(DFS)에 저장된 데이터에 접근하기 위해 Pinot이 제공하는 추상화예요.
Pinot은 분산 파일시스템을 다음 용도로 사용해요:
- 배치 수집 잡: 입력 데이터(CSV, Avro, Thrift 등)를 읽고 생성된 세그먼트를 DFS에 쓰는 용도.
- 컨트롤러: 세그먼트가 컨트롤러에 업로드되면 컨트롤러는 구성된 DFS에 저장해요.
- 서버: 서버가 새 세그먼트를 통보받으면 DFS 추상화를 이용해 원격 DFS에서 로컬 노드로 세그먼트를 복사해요.
지원되는 파일시스템 (Supported file systems)
Pinot은 분산 파일시스템 제공자를 선택하게 해요. Pinot이 지원하는 파일시스템은 다음과 같아요:
파일시스템 활성화 (Enabling a file system)
분산 파일시스템을 사용하려면 플러그인을 활성화해야 해요. 그러려면 플러그인 디렉터리를 지정하고 필요한 플러그인을 포함하세요:
-Dplugins.dir=/opt/pinot/plugins -Dplugins.include=pinot-plugin-to-include-1,pinot-plugin-to-include-2
controller와 server 구성에서 파일시스템을 바꿀 수 있어요. 다음 구성 예에서 URI는 s3://bucket/path/to/file이고, scheme은 파일시스템 URI 접두사 s3을 의미해요.
#CONTROLLER
pinot.controller.storage.factory.class.[scheme]=className of the pinot file system
pinot.controller.segment.fetcher.protocols=file,http,[scheme]
pinot.controller.segment.fetcher.[scheme].class=org.apache.pinot.common.utils.fetcher.PinotFSSegmentFetcher
#SERVER
pinot.server.storage.factory.class.[scheme]=className of the Pinot file system
pinot.server.segment.fetcher.protocols=file,http,[scheme]
pinot.server.segment.fetcher.[scheme].class=org.apache.pinot.common.utils.fetcher.PinotFSSegmentFetcher
수집 중에도 파일시스템을 바꿀 수 있어요. 수집 잡 스펙에서 다음 구성으로 파일시스템을 지정하세요:
pinotFSSpecs
- scheme: file
className: org.apache.pinot.spi.filesystem.LocalPinotFS