Spark のデータで Updategram を使用する
この記事では、CData BizTalk Adapter for Spark で実行できる Updategram を作成します。スキーマを設計し、それをテンプレートとして挿入、更新、削除の Updategram を生成します。
Spark 用アダプターをプロジェクトに追加する
Add Adapter ウィザードを使用して、Visual Studio の BizTalk Server プロジェクトにアダプターを追加します。アダプターを使用して、変更したいテーブルに関するメタデータを Spark に問い合わせます。
- Solution Explorer でプロジェクトを右クリックし、Add -> Add Generated Items をクリックします。
- 表示されるダイアログボックスで Add Adapter Metadata を選択します。
- 表示される Add Adapter Wizard で、リストビューから CData BizTalk Adapter for Spark を選択します。
- Port メニューでは、選択を空白のままにします。または、アダプターを使用するよう構成された Receive Location か Send Port を選択します。
- Next をクリックすると、Schema Wizard が表示されます。
Updategram 用のスキーマを生成する
以下の手順で、Visual Studio の BizTalk Server プロジェクトでスキーマを作成します。
- まだ行っていない場合は、Spark アダプターをプロジェクトに追加します。
- 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" の章を参照してください。
- Schema Information ページで、General Options セクションの Send Port をクリックします。CommandType メニューから Updategram を選択します。Solicit-Response Send Port でアダプターを使用している場合は、One-Way オプションを無効にします。
次のページ(Statement Information)で、Updategram のタイプ(Insert、Update、Delete)を選択します。テーブル名とスキーマに含めるカラムを選択します。Update または Delete を行う場合は、Id カラムが必要です。
注:Updategram を作成する際、スキーマに含めたカラムのみを変更できます。
- 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 レコードの挿入、更新、削除を行う方法については、チュートリアルを参照してください。