2017-10-10 6 views
0

コンフルエントなKafkaをソースとシンクのデータに使用するユースケースがあります。その典型的なETLのように。コンフルエントなkafka connectを使用するETL

Kafka connectが以前のストリーム間のデルタ変更を識別できるかどうかを知りたいと思います。すなわち、変更されたデータのみをクライアントに送信し、テーブルまたはビュー全体を送信しないことを望む。また、ソースおよび宛先DBのクエリによる変更を識別するための明示的なコードを実行しないことをお勧めします。

これに対処する方法はありますか?

答えて

1

CDC(データキャプチャの変更)のアプローチを検討しましたか。 connectorsには、データベースおよびストリーム・イベントのコミット・ログなどを読み取るものがいくつかあります。これらのイベントを使用すると、テーブル内のすべての変更を取得できます。

オラクルゴールデンゲート - http://www.oracle.com/technetwork/middleware/goldengate/oracle-goldengate-exchange-3805527.html

のPostgres - https://github.com/debezium

のMySQL - https://github.com/debezium

1

gasparmsはCDC Tを使用し、前記したようあなたのデータベースからすべての変更イベントを取り出すことができます。その後、Kafka StreamsまたはKSQLを使用して、ETLの必要に応じてフィルタリング、結合および集計を行うことができます。

データを取得したいソースシステムは何ですか? Oracle(および他のいくつかのソース)では、GoldenGate 12.3.1以降、実際にはdownloadの一部としてKafka Connectハンドラをバンドルしています。また、DBVisitなどの他のオプションもあります。

オープンソースのDBの場合、Debeziumは確かに請求書に適合し、素敵なtutorial hereがあります。

関連する問題