ListDatabaseTables 2025.5.31.15

バンドル

org.apache.nifi | nifi-standard-nar

説明

データベース接続からテーブルに関するメタデータに対応する属性を含むフローファイルのセットを生成します。テーブルに関するメタデータがフェッチされると、更新間隔(セットされている場合)が経過するまで、または手動で状態がクリアされるまで、再度フェッチされることはありません。

タグ

データベース、jdbc、リスト、SQL、テーブル

入力要件

FORBIDDEN

機密動的プロパティをサポート

false

プロパティ

プロパティ

説明

list-db-include-count

テーブルの行数をフローファイルの属性として含めるかどうか。これは、取得したリストの各テーブルに対してデータベースクエリが生成されるため、パフォーマンスに影響します。

list-db-refresh-interval

プロセッサーの状態がリセットされ、現在のテーブルがすべてリストされるまでの経過時間。この間、プロセッサーの実行は継続できますが、すでにリストされているテーブルが再リストされることはありません。ただし、新しいテーブルや追加されたテーブルは、プロセッサーが動作するたびにリストアップされます。ゼロの値は、状態が自動的にリセットされないことを意味し、ユーザーは手動で状態をクリアする必要があります。

list-db-tables-catalog

データベーステーブルをリストするカタログ名。この名前は、データベースに保存されているカタログ名と一致していなければなりません。このプロパティがセットされていない場合、カタログ名はテーブルの絞り込み検索には使用されません。このプロパティに空の文字列をセットすると、カタログのないテーブルがリストされます。

list-db-tables-db-connection

データベースへの接続を取得するために使用するController Service。

list-db-tables-name-pattern

データベースのテーブルに一致するパターン。パターン内で、"%"は0文字以上の任意の部分文字列に一致することを意味し、"_"は任意の1文字に一致することを意味します。このパターンは、データベースに格納されているテーブル名と一致しなければなりません。このプロパティがセットされていない場合は、すべてのテーブルが取得されます。

list-db-tables-schema-pattern

データベース内のスキーマに一致するパターン。パターン内で、"%"は0文字以上の任意の部分文字列に一致することを意味し、"_"は任意の1文字に一致することを意味します。このパターンは、データベースに格納されているスキーマ名と一致しなければなりません。このプロパティがセットされていない場合、スキーマ名はテーブルの絞り込み検索には使用されません。このプロパティに空の文字列をセットすると、スキーマのないテーブルがリストされます。

list-db-tables-types

含めるテーブル・タイプのカンマ区切りリスト。例えば、 TABLE と VIEW タイプをサポートするデータベースもあります。このプロパティがセットされていない場合、すべてのタイプのテーブルが返されます。

record-writer

リストの作成に使用するRecord Writerを指定します。指定しない場合は、リストされたエンティティごとに FlowFile が1つ作成されます。Record Writerを指定すると、個々の FlowFiles に属性を追加する代わりに、すべてのエンティティが単一の FlowFile に書き込まれます。

状態管理

スコープ

説明

CLUSTER

テーブルのリストをパフォーマンスした後、クエリのタイムスタンプが保存されます。これにより、プロセッサーは、次回実行時にテーブルのリストを再作成する必要がなくなります。プロセッサーのプロパティでリフレッシュ間隔を指定すると、プロセッサが間隔の経過を検出したときに状態がリセットされ、その結果としてテーブルが再リスト化されます。このプロセッサーはプライマリ・ノードのみで実行されます。

リレーションシップ

名前

説明

success

受信したすべての FlowFiles は成功にルーティングされます。

属性の書き込み

名前

説明

db.table.name

接続のデータベーステーブル名をコンテナーで返します。

db.table.catalog

テーブルが属するカタログ名をコンテナーで表します (null かもしれません)。

db.table.schema

テーブルが属するスキーマの名前がコンテナーで格納されます (null かもしれません)。

db.table.fullname

完全に修飾されたテーブル名(カタログ、スキーマなどを含む場合もあります)をコンテナーで指定します。

db.table.type

接続のデータベーステーブルのタイプをコンテナーで表します。代表的なタイプは "TABLE", "VIEW", "SYSTEM TABLE", "GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM"

db.table.remarks

接続のデータベーステーブル名をコンテナーで返します。

db.table.count

テーブルの行数をコンテナーで表します。

他のコンポーネントを含むユースケース

データベースのフルロードを実行し、すべてのテーブル、または特定のテーブルセットからすべての行を取得します。