Spark のデータで Updategram を使用する

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
Updategram を使用してSpark のデータの挿入、更新、削除を行うことができます。このガイドでは、CData BizTalk Adapter for Spark を使用して Updategram スキーマとインスタンスを生成する方法を説明します。

この記事では、CData BizTalk Adapter for Spark で実行できる Updategram を作成します。スキーマを設計し、それをテンプレートとして挿入、更新、削除の Updategram を生成します。

Spark 用アダプターをプロジェクトに追加する

Add Adapter ウィザードを使用して、Visual Studio の BizTalk Server プロジェクトにアダプターを追加します。アダプターを使用して、変更したいテーブルに関するメタデータを Spark に問い合わせます。

  1. Solution Explorer でプロジェクトを右クリックし、Add -> Add Generated Items をクリックします。
  2. 表示されるダイアログボックスで Add Adapter Metadata を選択します。
  3. 表示される Add Adapter Wizard で、リストビューから CData BizTalk Adapter for Spark を選択します。
  4. Port メニューでは、選択を空白のままにします。または、アダプターを使用するよう構成された Receive Location か Send Port を選択します。
  5. Next をクリックすると、Schema Wizard が表示されます。

Updategram 用のスキーマを生成する

以下の手順で、Visual Studio の BizTalk Server プロジェクトでスキーマを作成します。

  1. まだ行っていない場合は、Spark アダプターをプロジェクトに追加します。
  2. Add Adapter ウィザードの Connection String ページで、Send Port または Receive Location で構成されていない場合は、認証情報やその他の接続プロパティを入力します。一般的な接続文字列は以下のとおりです:
    Server=127.0.0.1;
    

    SparkSQL への接続

    SparkSQL への接続を確立するには以下を指定します。

    • Server:SparkSQL をホストするサーバーのホスト名またはIP アドレスに設定。
    • Port:SparkSQL インスタンスへの接続用のポートに設定。
    • TransportMode:SparkSQL サーバーとの通信に使用するトランスポートモード。有効な入力値は、BINARY およびHTTP です。デフォルトではBINARY が選択されます。
    • AuthScheme:使用される認証スキーム。有効な入力値はPLAIN、LDAP、NOSASL、およびKERBEROS です。デフォルトではPLAIN が選択されます。

    Databricks への接続

    Databricks クラスターに接続するには、以下の説明に従ってプロパティを設定します。Note:必要な値は、「クラスター」に移動して目的のクラスターを選択し、 「Advanced Options」の下にある「JDBC/ODBC」タブを選択することで、Databricks インスタンスで見つけることができます。

    • Server:Databricks クラスターのサーバーのホスト名に設定。
    • Port:443
    • TransportMode:HTTP
    • HTTPPath:Databricks クラスターのHTTP パスに設定。
    • UseSSL:True
    • AuthScheme:PLAIN
    • User:'token' に設定。
    • Password:パーソナルアクセストークンに設定(値は、Databricks インスタンスの「ユーザー設定」ページに移動して「アクセストークン」タブを選択することで取得できます)。

    必要な接続プロパティの詳細については、ヘルプドキュメントの "BizTalk Configuration" の章を参照してください。

  3. Schema Information ページで、General Options セクションの Send Port をクリックします。CommandType メニューから Updategram を選択します。Solicit-Response Send Port でアダプターを使用している場合は、One-Way オプションを無効にします。
  4. 次のページ(Statement Information)で、Updategram のタイプ(Insert、Update、Delete)を選択します。テーブル名とスキーマに含めるカラムを選択します。Update または Delete を行う場合は、Id カラムが必要です。

    :Updategram を作成する際、スキーマに含めたカラムのみを変更できます。

  5. Next をクリックしてスキーマのサマリーを表示し、ウィザードを終了してスキーマを作成します。生成された .xsd ファイルがプロジェクトに追加されます。

Insert、Update、Delete のインスタンスメッセージを生成する

Updategram スキーマを作成したら、.xsd ファイルを使用して Updategram を生成できます。Solution Explorer で .xsd ファイルを右クリックし、Generate Instance を選択します。このファイルをテンプレートとして、手動で Updategram を作成することもできます。以下は、Insert、Update、Delete 用に生成された Updategram インスタンスの例です:

Insert

INSERT の例を以下に示します。このインスタンスでは、データがどのように変更されるかを指定する after ブロックのみがあります。


<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/SparkSQLProvider">
  <ns0:sync>
    <ns0:before></ns0:before>
    <ns0:after>
      <ns0:Customers City="City_0" Balance="Balance_1" />
    </ns0:after>
  </ns0:sync>
</ns0:parameters>

Update

UPDATE の例を以下に示します。このインスタンスでは、before ブロック(テーブルの現在のデータ)と after ブロック(データがどのように変更されるか)の両方があります。


<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/SparkSQLProvider">
  <ns0:sync>
    <ns0:before>
      <ns0:Customers Id=001d000000YBRseAAH></ns0:Customers>
    </ns0:before>
    <ns0:after>
      <ns0:Customers City="City_0" Balance="Balance_1" ></ns0:Customers>
    </ns0:after>
  </ns0:sync>
</ns0:parameters>

Delete

DELETE の例を以下に示します。after ブロックは空になり、アイテムが削除されることを示します。


<ns0:parameters xmlns:ns0="http://www.cdata.com/jp/SparkSQLProvider">
  <ns0:sync>
    <ns0:before>
      <ns0:Customers Id=001d000000YBRseAAH></ns0:Customers>
    </ns0:before>
    <ns0:after></ns0:after>
  </ns0:sync>
</ns0:parameters>

スキーマの処理

Updategram を使用して Spark レコードの挿入、更新、削除を行う方法については、チュートリアルを参照してください。

はじめる準備はできましたか?

詳細:

Spark 連携ソリューション