Hi, I'm Ask INFA!
What would you like to know?
ASK INFAPreview
Please to access Ask INFA.

目次

Search

  1. はじめに
  2. アプリケーション取り込みとレプリケーション

アプリケーション取り込みとレプリケーション

アプリケーション取り込みとレプリケーション

Apache Kafkaターゲットのガイドライン

Apache Kafkaターゲットのガイドライン

Apache Kafkaターゲットを使用する場合は、次のガイドラインを考慮してください。
  • アプリケーション取り込みとレプリケーション
    は、増分ロードジョブのターゲットとして、Apache Kafka、Confluent Kafka、Amazon Managed Streaming for Apache Kafka(MSK)、およびKafka対応Azure Event Hubsをサポートします。これらすべてのKafkaターゲットタイプは、Kafka接続タイプを使用します。
    Kafkaターゲットタイプを指定するには、タスク定義またはKafka接続プロパティでKafkaプロデューサプロパティを指定する必要があります。タスクのこれらのプロパティを指定するには、タスクウィザードの
    [ターゲット]
    ページの
    [プロデューサ設定プロパティ]
    フィールドに、
    key
    :
    value
    ペアのカンマ区切りのリストを入力します。Kafka接続を使用するすべてのタスクのプロデューサプロパティを指定するには、プロパティのリストを接続プロパティの
    [追加接続プロパティ]
    フィールドに入力します。タスクレベルでプロデューサプロパティを定義することにより、特定のタスクの接続レベルのプロパティをオーバーライドできます。プロデューサプロパティの詳細については、Apache Kafka、Confluent Kafka、Amazon MSK、またはKafka用Azure Event Hubsのドキュメントを参照してください。
  • [AVRO]
    をKafkaターゲットの出力形式として選択した場合、
    アプリケーション取り込みとレプリケーション
    は次の形式の名前で、各テーブルのスキーマ定義ファイルを生成します。
    schemaname_tablename.txt
  • ソーススキーマの変更により、増分ロードジョブのターゲットが変更されることが予想される場合は、
    アプリケーション取り込みとレプリケーション
    がタイムスタンプを含む一意の名前でAvroスキーマ定義ファイルを再生成します。
    schemaname_tablename_YYYYMMDDhhmmss.txt
    この一意の命名パターンにより、古いスキーマ定義ファイルが監査目的で保持されます。
  • Confluent Schema Registryを使用してスキーマを格納するConfluent Kafkaターゲットがある場合は、タスクウィザードの[ターゲット]ページで次の設定を行う必要があります。
    • [出力形式]
      フィールドで、
      [AVRO]
      を選択します。
    • [Avroシリアル化形式]
      フィールドで、
      [なし]
      を選択します。
  • Kafkaプロデューサプロパティをタスクウィザードの
    [ターゲット]
    ページの
    [プロデューサ設定プロパティ]
    フィールド、またはKafka接続プロパティの
    [追加接続プロパティ]
    フィールドいずれかで指定できます。ビジネスニーズに合うように、Kafkaベンダーによってサポートされているproperty=valueのペアを入力します。
    例えば、Confluent Kafkaを使用する場合は、[プロデューサ設定プロパティ]フィールドまたは[追加接続プロパティ]フィールドで次のエントリを使用してスキーマレジストリのURLを指定し、基本認証を有効にすることができます。
    schema.registry.url=http://schema-registry:8081, key.serializer=org.apache.kafka.common.serialization.StringSerializer, value.serializer=io.confluent.kafka.serializers.KafkaAvroSerializer, basic.auth.credentials.source=USER_INFO, basic.auth.user.info=myname:mypassword
    Amazon MSKを使用する場合は、次の
    [追加接続プロパティ]
    エントリを使用して、Amazon MSKターゲットにアクセスするためのIAMロール認証を有効にすることができます。
    security.protocol=SASL_SSL,sasl.mechanism=AWS_MSK_IAM,sasl.jaas.config=software.amazon.msk.auth.iam.IAMLoginModule required;,sasl.client.callback.handler.class=software.amazon.msk.auth.iam.IAMClientCallbackHandler
    必ずSecure AgentがインストールされているAmazon EC2インスタンスでIAMロール認証を有効にしてください。
    Kafkaプロパティの詳細については、Kafkaベンダーのドキュメントを参照してください。
  • アプリケーション取り込みとレプリケーション
    の増分ロードジョブでは、Confluent Kafka、Amazon MSK、およびAzure Event Hubsターゲットを含め、SASL_SSLで保護されたアクセスをサポートするKafkaターゲットに変更データをレプリケートすることができます。Administratorで、
    [追加接続プロパティ]
    フィールドの適切なプロパティをはじめとするKafka接続を設定する必要があります。例えば、Azure Event Hubsの場合、次の
    [追加接続プロパティ]
    エントリを使用して、SASL_SSLを有効にすることができます。
    bootstrap.servers=NAMESPACENAME.servicebus.windows.net:9093 security.protocol=SASL_SSL sasl.mechanism=PLAIN sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$ConnectionString" password="{YOUR.EVENTHUBS.CONNECTION.STRING}";