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에 연결하는 방법에 대한 더 자세한 내용은 여기를 참고하세요.

더 알아보기 (Learn more)