2017-03-03 3 views

答えて

4

カフカ接続です。コンフルエントのみコネクタを提供しています。 Confluent Open Sourceを使用したくない場合は(なぜでしょうか?)、バニラのApache Kafkaですべてのコネクタを使用できます。

は、利用可能な複数のCasandraコネクタがあります。https://www.confluent.io/product/connectors/

ところで:記載されているCasandraコネクタのどれもがコンフルエントによって維持されていません。

もちろん、独自のコネクタを書いたり、他のサードパーティのコネクタを使用することもできます。

+0

データベースにアクセスするための基本的な考え方は、私の場合はSQL/CQLのいずれかのクエリを使用しています。 connectは、データを格納したり、データをフェッチするためにデータベースに対してクエリを実行します。コンシューマー・グループを処理用に構築し、それをDBに格納する場合は、DBに格納するために使用されるもの、つまりDBコンシューマーと言えば、単にORMを使用してデータをデータベースに格納するだけです。完全な透明性とコントロールを備えています。だから私の懸念は、それがパフォーマンスとスピードに関してこのタイプの(DB消費者)消費者と実際にどのように異なっているかということです。 ご協力いただきありがとうございます。 –

+0

フレームワークとして接続するとフェイルオーバーが処理され、分散モードで実行してデータのインポート/エクスポート「ジョブ」をスケールアウトすることもできます。したがって、コネクトは本当に「火と忘れ」の経験です。さらに、Connectの場合、コードを書く必要はありません。コネクタを設定するだけです。 –

0

はい、基本的にDataStaxのKafka Connect apiとCassandra Driversを使用し、Kafka-cassandra-connectのコードを作成する必要があります。

+0

その解決策を詳しく教えてもらえますか? – zx485

3

DataMountaineer Stream Reactorには、Kafka Connectで使用できるCassandra SourceおよびSinkソリューションがあります。その後、

ドロップjarファイル(download)カフカのLIBSのフォルダに、次のようにあなたのコネクターを指定します。

{ 
"name": "cassandra-NAME", 
"config": { 
    "tasks.max": "1", 
    "connector.class": "com.datamountaineer.streamreactor.connect.cassandra.source.CassandraSourceConnector", 
    "connect.cassandra.key.space": "KEYSPACE", 
    "connect.cassandra.source.kcql": "INSERT INTO KAFKA_TOPIC SELECT column1, timestamp_col FROM CASSANDRA_TABLE PK timestamp_col", 
    "connect.cassandra.import.mode": "incremental", 
    "connect.cassandra.contact.points": "localhost", 
    "connect.cassandra.port": 9042, 
    "connect.cassandra.import.poll.interval": 10000 
}} 

スタートカフカの接続

bin/connect-distributed.sh config/connect-distributed.properties 

そしてカフカ経由先にカサンドラコネクタをロードします上記のJSONプロパティファイル(connect-cassandra-source.jsonという名前を持つと仮定)

curl -X POST -H "Content-Type: application/json" -d @config/connect-cassandra-source.json localhost:8083/connectors 

timeuuid列をクラスタキーとして持つテーブルを作成する必要があります。それはhereと記載されています。

関連する問題