こんにちは!ウェブ担当の加藤です。マーケ関連のデータ分析や整備もやっています。
CData JDBC Driver for Zuora は、Zuora へのリアルタイムアクセスをJava ベースのレポートサーバーに統合できる標準のデータベースドライバーです。この記事では、ドライバーをOracle Business Intelligence Enterprise Edition (OBIEE) にデプロイし、変更を反映するZuora に関する方法を示します。
JDBC ドライバーをデプロイ
以下のステップに従って、WebLogic のクラスパスにJDBC ドライバーを追加します。
WebLogic 12.2.1 の場合、ドライバーJAR と.lic ファイルをORACLE_HOME\user_projects\domains\MY_DOMAIN\lib のようにDOMAIN_HOME\lib に配置します。これらのファイルは、起動時にサーバーのクラスパスに追加されます。
ドライバーをクラスパスに手動で追加することもできます。これは、以前のバージョンで必要です。setDomainEnv.cmd (Windows) または setDomainEnv.sh (Unix) のPRE_CLASSPATH の前に以下を追加します。このスクリプトは、そのドメインのフォルダーのbin サブフォルダーにあります。例:ORACLE_HOME\user_projects\domains\MY_DOMAIN\bin.
set PRE_CLASSPATH=your-installation-directory\lib\cdata.jdbc.zuora.jar;%PRE_CLASSPATH%
DOMAIN_HOME\bitools\bin でstop コマンドとstart コマンドを実行するなど、すべてのサーバーを再起動します。
JDBC Data Source for Zuora の作成
JDBC ドライバーをデプロイした後、BI Publisher からJDBC データソースを作成できます。
- BI Publisher にURL http://localhost:9502/analytics でログインし、[Administration]->[Manage BI Publisher]とクリックします。
- [JDBC Connection]->[Add Data Source]と進みます。
- 以下の情報を入力します。
- Data Source Name:ユーザーが接続を作成する名前をレポートに入力します。
- Driver Type:SELECTOther.
- Database DriverClass:ドライバークラスに cdata.jdbc.zuora.ZuoraDriver を入力します。
- Connection String:JDBC URL を入力します。
Zuora はユーザー認証にOAuth 標準を使用しています。OAuth 認証ついて詳しくは、オンラインヘルプドキュメントを参照してください。
Tenant プロパティの設定
プロバイダへの有効な接続を作成するには、アカウントの設定と合致するテナント値を1つ選択する必要があります。以下は、利用可能なオプションのリストです。
- USProduction:リクエストはhttps://rest.zuora.com に送信されます。
- USAPISandbox:リクエストはhttps://rest.apisandbox.zuora.com に送信されます。
- USPerformanceTest:リクエストはhttps://rest.pt1.zuora.com に送信されます。
- EUProduction:リクエストはhttps://rest.eu.zuora.com に送信されます。
- EUSandbox:リクエストはhttps://rest.sandbox.eu.zuora.com に送信されます。
デフォルトではUSProduction テナントを使用します。
Zuora サービスの選択
データクエリとAQuA API の2つのZuora サービスを使用します。デフォルトでは、ZuoraService はAQuADataExport に設定されています。
DataQuery
データクエリ機能は、非同期の読み取り専用SQL クエリを実行することで、Zuora テナントからのデータのエクスポートを実現します。
このサービスは、素早く軽量なSQL クエリでの使用を推奨します。
制限
- フィルタ適用後の、テーブルごとの入力レコードの最大数: 1,000,000
- 出力レコードの最大数: 100,000
- テナントごとの、実行用に送信される同時クエリの最大数: 5
- テナントごとの、同時クエリの制限に達した後に実行用に送信され、キューに追加されるクエリの最大数: 10
- 1時間単位での、各クエリの最大処理時間: 1
- GB 単位での、各クエリに割り当てられるメモリの最大サイズ: 2
- Index Join を使用する際のインデックスの最大値。言い換えれば、Index Join を使用する際にWHERE
句で使われる一意の値に基づいた、左のテーブルから返されるレコードの最大数: 20.000
AQuADataExport
AQuA API のエクスポートは、すべてのオブジェクト(テーブル)のすべてのレコードをエクスポートするように設計されています。AQuA のクエリジョブには以下の制限があります。
制限
- AQuA のジョブ内のクエリが8時間以上実行されている場合、ジョブは自動的に停止されます。
- 停止されたAQuA のジョブは3回再試行可能で、その後失敗として返されます。
ビルトイン接続文字列デザイナ
JDBC URL の構成については、Zuora JDBC Driver に組み込まれている接続文字列デザイナを使用してください。JAR ファイルのダブルクリック、またはコマンドラインからJAR ファイルを実行します。
java -jar cdata.jdbc.zuora.jar
接続プロパティを入力し、接続文字列をクリップボードにコピーします。
JDBC URL を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。
以下は一般的なJDBC URL です。
jdbc:zuora:OAuthClientID=MyOAuthClientId;OAuthClientSecret=MyOAuthClientSecret;Tenant=USProduction;ZuoraService=DataQuery;InitiateOAuth=GETANDREFRESH
- Username:ユーザー名。
- Password:パスワード。
- [Security]セクションで、許可されているユーザーロールを選択します。
リアルタイムのZuora レポートを作成
リアルタイムのZuora に基づいてレポートと分析を作成できるようになります。以下のステップに従って、標準のレポートウィザードを使用してZuora への変更を反映するインタラクティブなレポートを作成します。
- グローバルヘッダーで、[New]->[Data Model]をクリックします。
- Diagram タブでメニューからSQL クエリを選択します。
- クエリの名前を入力し、[Data Source]メニューで、作成したZuora JDBC データを選択します。
- 標準のSQL を選択し、以下のようなクエリを入力します。
SELECT Id, BillingCity FROM Invoices WHERE BillingState = 'CA'
- [View Data]をクリックし、レポートの作成に使用するサンプルデータを生成します。
- サンプルデータに含める行数を選択し、[View]をクリックして[Save As Sample Data]をクリックします。
- [Create Report]->[Use Data Model]とクリックします。
- [Guide Me]を選択し、[Select Layout]ページで含めるレポートオブジェクトを選択します。この例では、[Chart]と[Table]を選択します。
- BillingCity のような数値列をy 軸の[Drop Value Here]ボックスにドロップします。Id のようなディメンション列をx 軸の[Drop Label Here]ボックスにドロップします。
- [Refresh]をクリックしてZuora への変更を取得します。