Skip to Content
Kafkaコネクト
book

Kafkaコネクト

by Mickael Maison, Kate Stanley
March 2025
Intermediate to advanced
402 pages
6h 25m
Japanese
O'Reilly Media, Inc.
Content preview from Kafkaコネクト

第11章. ソースコネクターとシンクコネクターを作る

この作品はAIを使って翻訳されている。ご意見、ご感想をお待ちしている:translation-feedback@oreilly.com

前の章で述べたように、Apache Kafkaプロジェクトには、MirrorMakerとFileStream コネクタの例を除いて、コネクタは含まれていない。その代わりに、Kafkaコミュニティと多くのベンダがコネクタを構築している。現在では、最も一般的なデータベース、データ処理ツール、ストレージツール、プロトコルに対応したものが数百種類ある。

しかし、使用するシステム用の コネクタがない場合や、既存のコネクタが使用ケースに適さない場合は、独自のソース・コネクタとシンク・コネクタを構築することができる。この章では、コネクタをゼロから実装するプロセスを説明する。Kafka Connect パブリック API の実装が必要なクラスを取り上げ、要件を満たすコネクタを構築するために必要な主な手順、ベストプラクティス、決定事項を説明する。

ソースコネクタとシンクコネクタは、構成要素の多くを共有しているため、独自のコネクタを構築する際の多くの作業や決定点は同じである。各タイプのコネクタの詳細に入る前に、コネクタの構築方法や共通のAPIなど、両方のタイプに適用される概念について見ていく。

共通の概念とAPI

前の章で説明したように、コネクターはコネクターとタスクの2つの部分で構成される。初期化エントリーポイントはコネクタで、その後、実際に作業を行う1つ以上のタスクを構成する。これらの部分は、Kafka Connect API で実装する必要があるConnector とTask クラスにマップする。(例えば、ソースコネクタはSourceConnector とSourceTask を実装する必要があり、シンクコネクタはSinkConnector とSinkTask を実装する必要がある)。実行時には、SourceConnector またはSinkConnector クラスのインスタンスが 1 つと、SourceTask またはSinkTask クラスのインスタンスが 1 つ以上存在する。

Kafka Connect APIには、Connector とTask クラスに加えて、コンテキストクラスがセットになっており、コネクタやタスクがランタイムと対話し、ランタイムが何をしているかを把握したり、ランタイムの動作に影響を与えたりすることができる。

これらのAPIを掘り下げる前に、必要なクラスにアクセスし、ビルド環境をセットアップする方法を見てみよう。

カスタムコネクタを構築する

コネクタを構築する際に にアクセスする必要があるクラスはすべて、Java で記述された Kafka Connect パブリック API の一部である。つまり、JavaまたはScalaのような互換性のある言語でコネクタを実装する必要がある。ソースコードでは、クラスはorg.apache.kafka.connect パッケージにあり、その後、これらのクラスはすべてconnect-api パッケージの一部として利用可能になる。コネクタプロジェクトの作成時に、これらのクラスにアクセスするには、この依存関係を追加する必要がある。他の Kafka Connect や Kafka JAR は公開 API ではないため、予告なく変更される可能性がある。実際には、connect-api は、kafka-clients も依存関係として持ってくる。この依存関係には、設定やメトリックを定義するための便利なクラスや、多くのユーティリティが含まれている。 ...

Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.

Read now

Unlock full access

More than 5,000 organizations count on O’Reilly

AirBnbBlueOriginElectronic ArtsHomeDepotNasdaqRakutenTata Consultancy Services

QuotationMarkO’Reilly covers everything we've got, with content to help us build a world-class technology community, upgrade the capabilities and competencies of our teams, and improve overall team performance as well as their engagement.
Julian F.
Head of Cybersecurity
QuotationMarkI wanted to learn C and C++, but it didn't click for me until I picked up an O'Reilly book. When I went on the O’Reilly platform, I was astonished to find all the books there, plus live events and sandboxes so you could play around with the technology.
Addison B.
Field Engineer
QuotationMarkI’ve been on the O’Reilly platform for more than eight years. I use a couple of learning platforms, but I'm on O'Reilly more than anybody else. When you're there, you start learning. I'm never disappointed.
Amir M.
Data Platform Tech Lead
QuotationMarkI'm always learning. So when I got on to O'Reilly, I was like a kid in a candy store. There are playlists. There are answers. There's on-demand training. It's worth its weight in gold, in terms of what it allows me to do.
Mark W.
Embedded Software Engineer

You might also like

スケーラブル・システムの基礎

スケーラブル・システムの基礎

Ian Gorton
AWS上のレジリエントなシステムの構築

AWS上のレジリエントなシステムの構築

Kevin Schwarz, Jennifer Moran, Nate Bachmeier
データおよび機械学習プラットフォームのアーキテクト

データおよび機械学習プラットフォームのアーキテクト

Marco Tranquillin, Valliappa Lakshmanan, Firat Tekiner

Publisher Resources

ISBN: 9798341626225