Cassandra Sink 커넥터
Cassandra Sink 커넥터
Cassandra sink 커넥터는 Pulsar 토픽에서 메시지를 가져와 Cassandra 또는 ScyllaDB 클러스터에 써 넣어요. Pulsar에서 데이터를 Cassandra 계열 데이터베이스로 흘려보내는 가장 기본적인 커넥터 중 하나예요.
참고: 모든 Pulsar 커넥터는 download page에서 내려받을 수 있어요.
출처: 문서
본문
ScyllaDB 호환성 (ScyllaDB Compatibility)
Cassandra sink 커넥터는 ScyllaDB와 완전히 호환돼요. ScyllaDB는 CQL 프로토콜 전체 호환을 유지하면서 Cassandra를 그대로 대체할 수 있는(drop-in replacement) 제품이라서, 같은 pulsar-io-cassandra 커넥터를 수정 없이 Apache Cassandra와 ScyllaDB 양쪽에서 사용할 수 있어요.
구성도 두 데이터베이스에서 동일해요. Pulsar를 ScyllaDB와 함께 사용하는 방법에 대한 더 자세한 내용은 Streaming Real-Time Chat Messages into ScyllaDB with Apache Pulsar를 참고하세요.
구성 (Configuration)
Cassandra sink 커넥터의 구성에는 다음과 같은 프로퍼티가 있어요.
프로퍼티 (Property)
| 이름 | 타입 | 필수 | 기본값 | 설명 |
|---|---|---|---|---|
| roots | String | true | " " (빈 문자열) | 연결할 Cassandra 호스트의 쉼표 구분 목록이에요. |
| keyspace | String | true | " " (빈 문자열) | Pulsar 메시지를 쓰는 데 사용하는 키스페이스예요. 참고: 키스페이스는 Cassandra sink보다 먼저 생성되어 있어야 해요. |
| keyname | String | true | " " (빈 문자열) | Cassandra 컬럼 패밀리의 키 이름이에요. 이 컬럼은 Pulsar 메시지 키를 저장하는 데 사용돼요. Pulsar 메시지에 연결된 키가 없다면 메시지 값이 키로 사용돼요. |
| columnFamily | String | true | " " (빈 문자열) | Cassandra 컬럼 패밀리 이름이에요. 참고: 컬럼 패밀리는 Cassandra sink보다 먼저 생성되어 있어야 해요. |
| columnName | String | true | " " (빈 문자열) | Cassandra 컬럼 패밀리의 컬럼 이름이에요. 이 컬럼은 Pulsar 메시지 값을 저장하는 데 사용돼요. |
예제 (Example)
Cassandra sink 커넥터를 사용하기 전에 다음 방법 중 하나로 구성 파일을 만들어야 해요.
- JSON
{
"configs": {
"roots": "localhost:9042",
"keyspace": "pulsar_test_keyspace",
"columnFamily": "pulsar_test_table",
"keyname": "key",
"columnName": "col"
}
}
- YAML
configs:
roots: "localhost:9042"
keyspace: "pulsar_test_keyspace"
columnFamily: "pulsar_test_table"
keyname: "key"
columnName: "col"
사용법 (Usage)
Pulsar를 Cassandra와 ScyllaDB에 연결하는 방법에 대한 더 자세한 내용은 여기를 참고하세요.