Alluxio sink 커넥터

Alluxio sink 커넥터

Alluxio sink 커넥터는 Pulsar 토픽에서 메시지를 가져와 Alluxio 디렉터리로 지속(persist)해요. Pulsar의 메시지 데이터를 분산 스토리지 계층인 Alluxio에 파일로 저장하고 싶을 때 사용해요.

모든 Pulsar 커넥터는 다운로드 페이지에서 내려받을 수 있어요. 사용 전에 아래 설정 속성을 확인하고, JSON 또는 YAML 구성 파일을 만들어 두세요.

출처: 문서

본문

알아두기: 모든 Pulsar 커넥터는 다운로드 페이지에서 다운로드할 수 있어요.

Sink

Alluxio sink 커넥터는 Pulsar 토픽에서 메시지를 가져와 메시지를 Alluxio 디렉터리로 지속해요.

구성 (Configuration)

Alluxio sink 커넥터의 구성은 다음 속성을 가져요.

속성 (Property)

이름 타입 필수 기본값 설명
alluxioMasterHost String true "" (빈 문자열) Alluxio master의 호스트 이름.
alluxioMasterPort int true 19998 Alluxio master 노드가 실행되는 포트.
alluxioDir String true "" (빈 문자열) 파일을 읽거나 쓸 Alluxio 디렉터리.
securityLoginUser String false "" (빈 문자열) alluxio.security.authentication.typeSIMPLE 또는 CUSTOM으로 설정되면, 사용자 애플리케이션은 이 속성으로 Alluxio 서비스를 요청하는 사용자를 나타내요. 명시적으로 설정하지 않으면 OS 로그인 사용자가 사용돼요.
filePrefix String false "" (빈 문자열) Alluxio 디렉터리에 만들 파일의 접두사 (예: 값이 'TopicA'topicA-, topicA- 같은 이름의 파일이 생산돼요).
fileExtension String false "" (빈 문자열) Alluxio에 쓰는 파일에 추가할 확장자 (예: '.txt').
lineSeparator String false "" (빈 문자열) 텍스트 파일에서 레코드를 구분하는 문자. 값이 없으면 모든 레코드의 내용이 하나의 연속된 바이트 배열로 연결돼요.
rotationRecords long false 10000 Alluxio 파일 로테이션의 레코드 수.
rotationInterval long false -1 Alluxio 파일을 로테이션할 간격(밀리초).
schemaEnable boolean false false Sink가 스키마를 고려할지, 아니면 원시 메시지를 Alluxio로 단순히 복사할지 설정해요.
writeType String false MUST_CACHE Alluxio 파일을 만들 때 기본 쓰기 타입. 유효한 옵션은 MUST_CACHE(쓰기가 Alluxio에만 가고 Alluxio에 저장되어야 함), CACHE_THROUGH(캐시를 시도하고 UnderFS에 동기적으로 쓰기), THROUGH(캐시 없이 UnderFS에 동기적으로 쓰기)예요.

예시 (Example)

Alluxio sink 커넥터를 사용하기 전에, Pulsar 서비스를 시작할 경로(즉 PULSAR_HOME)에 다음 방법 중 하나로 구성 파일을 만들어야 해요.

JSON:

{
    "alluxioMasterHost": "localhost",
    "alluxioMasterPort": "19998",
    "alluxioDir": "pulsar",
    "filePrefix": "TopicA",
    "fileExtension": ".txt",
    "lineSeparator": "\n",
    "rotationRecords": "100",
    "rotationInterval": "-1"
}

YAML:

configs:
    alluxioMasterHost: "localhost"
    alluxioMasterPort: "19998"
    alluxioDir: "pulsar"
    filePrefix: "TopicA"
    fileExtension: ".txt"
    lineSeparator: "\n"
    rotationRecords: 100
    rotationInterval: "-1"

더 알아보기 (Learn more)

  • sink 커넥터 실행 방법은 소스·sink 문서를 참고해요.
  • 다른 커넥터 목록은 Pulsar IO 커넥터 문서에서 확인할 수 있어요.
  • Alluxio 개념이 궁금하다면 Alluxio 공식 문서를 참고해요.