KafkaコネクタのFAQ
ベータ版
この機能はベータ版です。ワークスペース管理者は、 プレビュー ページからこの機能へのアクセスを制御できます。Databricksのプレビューを管理するを参照してください。
このページには、Databricks Lakeflow Connectのマネージド Kafka インジェストコネクタに関するよく寄せられる質問の回答が含まれています。
一般的なマネージド コネクタの FAQ
LakeFlow Connect のすべてのマネージド コネクタに適用される FAQ については、マネージドコネクタの FAQ を参照してください。以下はKafkaコネクタに固有のものです。
コネクタ固有の FAQ
Kafkaに接続する際にTimeoutExceptionが表示されるのはなぜですか?
一般的な原因には、次のものがあります。
- ネットワーク接続 :サーバレスコンピュートはKafkaブローカーに到達できません。ファイアウォールルール、セキュリティグループ、およびVPC構成を確認します。
- **不正なブートストラップサーバー**:接続のブートストラップサーバーのホスト名とポートが正しいことを確認してください。
- **DNS解決**: Databricks ネットワークからKafkaブローカーのホスト名が解決できることを確認してください。
- SSL/TLS の問題 : SSLを使用している場合は、証明書が正しく構成されていることを確認してください。
Private Link または VPC ピアリングの設定では、正しいネットワークルートが設定されていることを確認してください。認証設定の詳細については、認証を参照してください。
単一のパイプラインで複数の Kafka トピックから読み取ることができますか?
はい。同じパイプラインテーブル定義で複数のトピックにサブスクライブするには、以下のいずれかを使用できます。
topics: トピック名の一覧を指定します。たとえばtopics: [topic1, topic2]。topic_pattern:トピック名と一致させるにはJavaの正規表現を使用します。例:topic_pattern: "topic-.*"。topic_patternはtopicsと相互に排他的です。
両方のフィールドはconnector_options.kafka_optionsの下に設定されています。完全なオプションのリファレンスについては、Kafkaコネクタのリファレンスを参照してください。
データがトピックに存在しても、ストリームがレコードを返さないのはなぜですか?
一般的な原因には、次のものがあります。
- 誤った
starting_offset設定 :デフォルト値はlatestです。これはストリーム開始後に到着する新しいデータのみを読み取ります。既存のデータを読み取るには、starting_offsetをearliestに設定します。 - 誤ったトピック名 :正しいトピックを購読していることを確認してください。Kafka トピック名は大文字と小文字を区別します。
- 認証の問題 :お客様のストリームは正常に接続された可能性がありますが、トピックから読み取る権限がありません。Kafka ACLsを確認してください。
ストリームが最新のKafkaオフセットからどれくらい遅れているかを監視するにはどうすればよいですか?
ストリーミングメトリクスを表示を参照してください。ストリーミングメトリクス UI にはパーティションごとのオフセットラグが表示され、パイプラインがトピック内の最新の利用可能なオフセットからどれだけ遅れているかを示します。
パイプラインが読み取る前に Kafka からレコードが削除された場合はどうなりますか?
パイプラインが遅延し、Kafkaがレコードを読み取られる前に削除した場合(トピック保持設定のため)、パイプラインは自動的に欠落したオフセットをスキップし、次に利用可能なオフセットから続行します。
この動作は意図的なものです。保持ギャップでパイプラインを停止すると、介入を待っている間にパイプラインがさらに遅れ、失われるデータの総量が増加します。ギャップを越えて続行することで、パイプラインはできるだけ早く新しいレコードの読み取りを再開します。
ユースケースで、すべてのレコードが処理されることを保証する必要がある場合は、Kafka トピックの保持期間が、予想されるパイプラインのダウンタイムまたは遅延に対応できる十分な長さであることを確認してください。