目次

Search

  1. はじめに
  2. 一括取り込みデータベース

一括取り込みデータベース

一括取り込みデータベース

Kafkaターゲットのプロパティ

Kafkaターゲットのプロパティ

データベース統合
タスクを定義する場合は、Kafkaターゲットのいくつかのプロパティをタスクウィザードの
[ターゲット]
ページで入力する必要があります。
これらのプロパティは、増分ロード操作にのみ適用されます。
次の表は、
[ターゲット]
に表示されるKafkaターゲットのプロパティについて説明しています。
プロパティ
説明
テーブル名をトピック名として使用
一括取り込みデータベース
がソースデータを含むメッセージを、ソーステーブルごとに1つずつ個別のトピックに書き込むか、すべてのメッセージを1つのトピックに書き込むかを示します。
テーブル固有のトピックを区切るメッセージを書き込むには、このチェックボックスを選択します。トピック名は、
[スキーマ名を含める]
[テーブルプレフィックス]
、または
[テーブルサフィックス]
プロパティに追加しない限り、トピック名はソーステーブル名に一致します。
デフォルトでは、このチェックボックスはオフです。デフォルト設定では、
[トピック名]
プロパティにすべてのメッセージが書き込まれる単一のトピックの名前を指定する必要があります。
スキーマ名を含める
[テーブル名をトピック名として使用]
が選択されている場合、このチェックボックスが表示され、デフォルトで選択されています。この設定により、テーブル固有のトピック名にソーススキーマ名が追加されます。トピック名の形式は次のとおりです。
スキーマ名
_
テーブル名
スキーマ名を含めない場合は、
このチェックボックスをオフにします。
テーブルプレフィックス
テーブル名をトピック名として使用
を選択すると、このプロパティが表示され、オプションでプレフィックスを入力してテーブル固有のトピック名に追加できます。例えば、myprefix_を指定すると、トピック名の形式は「myprefix_
テーブル名
」になります。プレフィックスの後のアンダースコア(_)を省略すると、プレフィックスがテーブル名の前に追加されます。
テーブルサフィックス
テーブル名をトピック名として使用
を選択すると、このプロパティが表示され、オプションでサフィックスを入力してテーブル固有のトピック名に追加できます。例えば、_mysuffixを指定すると、トピック名の形式は「
テーブル名
_mysuffix」になります。サフィックスの前のアンダースコア(_)を省略すると、サフィックスがテーブル名に追加されます。
トピック名
[トピック名としてテーブル名を使用する]
選択しない
場合、ソースデータを含むすべてのメッセージが書き込まれる単一のKafkaトピックの名前を入力する必要があります。
出力形式
出力ファイルの形式を選択します。次のオプションがあります。
  • CSV
  • AVRO
  • JSON
デフォルトの値は
[CSV]
です。
CSV形式の出力ファイルでは、各フィールドの区切り文字として二重引用符("")が使用されます。
KafkaターゲットがConfluent Schema Registryを使用して増分ロードジョブのスキーマを格納する場合は、形式として
[AVRO]
を選択する必要があります。
JSON形式
出力形式として
[JSON]
が選択されている場合は、出力の詳細レベルを選択します。次のオプションがあります。
  • 簡潔
    。この形式では、操作タイプやカラムの名前と値など、最も関連性の高いデータのみが出力に記録されます。
  • 詳細
    。この形式では、テーブル名やカラムタイプなどの詳細情報が記録されます。
Avro形式
出力形式として
[AVRO]
を選択した場合、ソーステーブルごとに作成されるAvroスキーマの形式を選択します。次のオプションがあります。
  • Avro-Flat
    。すべてのAvroフィールドを1つのレコードに一覧表示する場合に、このAvroスキーマ形式を使用します。
  • Avro-Generic
    。ソーステーブルのすべてのカラムをAvroフィールドの単一の配列に一覧表示する場合に、このAvroスキーマ形式を使用します。
  • Avro-Nested
    。各タイプの情報を個別のレコードに編成する場合に、このAvroスキーマ形式を使用します。
デフォルト値は
[Avro-Flat]
です。
Avroシリアル化形式
出力形式として
AVRO
が選択されている場合は、Avro出力ファイルのシリアル化形式を選択します。次のオプションがあります。
  • Binary
  • JSON
  • なし
デフォルト値は
[Binary]
です。
Confluent Schema Registryを使用してスキーマを格納するConfluent Kafkaターゲットがある場合は、
[なし]
を選択します。それ以外の場合、Confluent Schema Registryはスキーマを登録しません。Confluent Scheme Registryを使用していない場合、
[なし]
は選択しないでください。
Avroスキーマディレクトリ
出力形式として
[AVRO]
が選択されている場合は、
一括取り込みデータベース
が各ソーステーブルのAvroスキーマ定義を格納しているローカルディレクトリを指定します。スキーマ定義ファイルには、次の命名パターンがあります。
schemaname
_
tablename
.txt
このディレクトリが指定されていない場合、Avroスキーマ定義ファイルは作成されません。
ソーススキーマの変更によってターゲットが変更されることが予想される場合、Avroスキーマ定義ファイルは、タイムスタンプを含む一意の名前で次の形式で再生成されます。
schemaname
_
tablename
_
YYYYMMDDhhmmss
.txt
この一意の命名パターンにより、古いスキーマ定義ファイルが監査目的で保持されます。
Avro圧縮タイプ
[AVRO]
が出力形式としてが選択されている場合は、Avro圧縮タイプを選択します。次のオプションがあります。
  • なし
  • Bzip2
  • Deflate
  • Snappy
デフォルト値は
[なし]
、これは圧縮が使用されないことを意味します。
Deflate圧縮レベル
[Deflate]
[Avro圧縮タイプ]
フィールドで選択されている場合、圧縮レベルとして0~9を指定します。デフォルトは0です。
[詳細]
で次のような詳細ターゲットプロパティを入力できます。
プロパティ
説明
操作タイプの追加
ジョブがターゲットにプロパゲートする出力にソースSQL操作タイプを含むメタデータカラムを追加するには、このチェックボックスを選択します。
ジョブは、挿入を表す「I」、更新を表す「U」、または削除を表す「D」を書き込みます。
デフォルトでは、このチェックボックスは選択されています。
操作時間の追加
ジョブがターゲットにプロパゲートする出力にソースSQL操作タイムスタンプを記録するメタデータカラムを追加するには、このチェックボックスをオンにします。
デフォルトでは、このチェックボックスは選択されていません。
操作所有者の追加
ジョブがターゲットにプロパゲートする出力にソースSQL操作の所有者を記録するメタデータカラムを追加するには、このチェックボックスを選択します。
デフォルトでは、このチェックボックスは選択されていません。
このプロパティは、MongoDBソースまたはPostgreSQLソースを持つジョブでは使用できません。
操作トランザクションIDの追加
ジョブがSQL操作のターゲットにプロパゲートする出力にソーストランザクションIDを含むメタデータカラムを追加するには、このチェックボックスを選択します。
デフォルトでは、このチェックボックスは選択されていません。
前のイメージを追加
ジョブがターゲットに書き込む出力にUNDOデータを含めるには、このチェックボックスを選択します。
デフォルトでは、このチェックボックスは選択されていません。
非同期書き込み
Kafkaへのメッセージの同期配信を使用するかどうかを制御します。
  • 同期配信を使用するには、このチェックボックスをオフにします。Kafkaは、
    一括取り込みデータベース
    が次のメッセージを送信する前に、各メッセージの受信を確認する必要があります。このモードでは、Kafkaが重複メッセージを受信する可能性はほとんどありません。ただし、パフォーマンスが低下する可能性があります。
  • 非同期配信を使用するには、このチェックボックスを選択します。
    一括取り込みデータベース
    ソースから変更が取得された順序に関係なく、できるだけ早くメッセージを送信します。
デフォルトでは、このチェックボックスは選択されています。
プロデューサ設定プロパティ
key
=
value
ペアをカンマで区切って指定して、Apache Kafka、Confluent Kafka、Amazon Managed Streaming for Apache Kafka(MSK)、またはKafka対応Azure Event HubsターゲットのKafkaプロデューサプロパティを入力します。
Confluent Schema Registryを使用してスキーマを格納するConfluentターゲットがある場合は、次のプロパティを指定する必要があります。
schema.registry.url=
url
, key.serializer=org.apache.kafka.common.serialization.StringSerializer, value.serializer=io.confluent.kafka.serializers.KafkaAvroSerializer
Kafkaプロデューサーのプロパティは、このフィールドまたはKafka接続の
追加の接続プロパティ
フィールドのいずれかに設定します。
このフィールドにプロデューサープロパティを入力すると、プロパティはこのタスクにのみ関連付けられたデータベース取り込みジョブに関係します。接続のプロデューサプロパティを入力する場合、
[プロデューサ設定プロパティ]
フィールドのプロパティを指定して特定のタスクの接続レベルのプロパティをオーバーライドしない限り、プロパティは接続定義を使用するすべてのタスクのジョブに関係します。
Kafkaプロデューサプロパティの詳細については、Apache Kafka、Confluent Kafka、Amazon MSK、またはAzure Event Hubs のドキュメントを参照してください。