Openflow Connector for Kinesis の維持¶
注釈
このコネクタは、 Snowflakeコネクタ規約 に従うものとします。
このトピックでは、状態の管理とリセットの方法を含む Openflow Connector for Kinesis コネクタを維持する方法について説明します。
コネクタの状態を管理する¶
Openflow Connector for Kinesis はDynamoDBを使用してコンシューマーアプリケーションの状態を保存します。
コネクタによって作成されたDynamoDBテーブル¶
コネクタで設定された各Kinesisアプリケーション名に対して、KCLは3つのDynamoDBテーブルを作成します。
<Kinesis Application Name>ストリーム内の各シャードのチェックポイント指定されたシーケンス番号を格納します。これは、どの記録が処理されたかを追跡します。
<Kinesis Application Name>-CoordinatorState複数のプロセッサーが同じアプリケーション名を共有している場合に、ワーカー間の調整に使用されます。
<Kinesis Application Name>-WorkerMetricStatsワーカーが作業割り当て中に使用するメトリックをレポートするために使用します。
これらのテーブル名で、 <Kinesis Application Name> は、コネクタの設定時に提供される値です。
複数のプロセッサーが同じアプリケーション名を使用する場合、それらは協調してストリームからデータを消費し、これらのテーブルを共有します。プロセッサーのアプリケーション名が異なる場合、それぞれが独自のテーブルのセットを作成し、消費された記録を独立して追跡します。
DynamoDBテーブルの詳細については、 AWS Kinesisクライアントライブラリのドキュメント をご参照ください。
コネクタの状態をリセットする¶
DynamoDBのコネクタの状態が破損するか、一貫性が失われた場合は、リセットする必要があります。コネクタの状態をリセットするには、2つのアプローチがあります。
アプリケーション名を変更してリセットする¶
コネクタの状態をリセットする最も簡単な方法は、Kinesis Application Nameパラメーターを変更することです。
コネクタを停止します。
コネクタのパラメーターコンテキストに移動します。
Kinesis Application Nameパラメーター値を新しい値に変更します。コネクタを起動します。
コネクタは新しいアプリケーション名を持つDynamoDBテーブルを作成し、 Kinesisの初期ストリーム位置 パラメーターで指定された位置からの記録の消費を開始します。
注釈
IAMポリシーによってDynamoDBが特定のテーブル名にアクセスすることが制限されている場合は、ポリシーを更新して新しいテーブル名へのアクセスを許可する必要があります。IAM権限の構成の詳細については、 Openflow Connector for Kinesis の JSON データ形式を設定する をご参照ください。
DynamoDBテーブルを削除してリセットする¶
または、既存のDynamoDBテーブルを削除して、状態をリセットできます。
コネクタを停止します。
AWSコンソールまたはAWS CLIを使用して、アプリケーション名に関連付けられた3つのDynamoDBテーブルを削除します。
<Kinesis Application Name><Kinesis Application Name>-CoordinatorState<Kinesis Application Name>-WorkerMetricStats
コネクタを起動します。
コネクタはテーブルを再作成し、 Kinesisの初期ストリーム位置 パラメーターで指定された位置から記録の消費を開始します。
警告
コネクタの状態をリセットすると、コネクタは最初のストリーム位置で指定された位置からの記録を再処理します。Kinesisの初期ストリーム位置 の設定に応じて、重複データがSnowflakeにインジェストされるか、データがまったくインジェストされない可能性があります。