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.type이 SIMPLE 또는 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 공식 문서를 참고해요.