CData JDBC Driver for Apache Airflow で SAP BusinessObjects ユニバースを作成

Jerod Johnson
Jerod Johnson
Director, Technology Evangelism
SAP BusinessObjects ユニバースを通じてApache Airflow のデータへの接続を提供します。



この記事では、CData JDBC Driver for Apache Airflow を使用して、SAP BusinessObjects Business Intelligence アプリケーションから Apache Airflow に接続する方法を説明します。Information Design Tool を使用してApache Airflow のデータを分析し、CData JDBC Driver for Apache Airflow 上にユニバースを作成します。その後、Web Intelligence からユニバースに接続します。

Apache Airflow への JDBC 接続を作成

以下の手順に従って、Information Design Tool で Apache Airflow JDBC データソースへの接続を作成します。

  1. CData の JAR ファイルと .lic ファイルを BusinessObjects インストールディレクトリの dataAccess\connectionServer\jdbc\drivers\jdbc サブフォルダにコピーします。CData の JAR ファイルは、インストールディレクトリの lib サブフォルダにあります。
  2. プロジェクトを右クリックし、New -> New Relational Connection をクリックします。
  3. 表示されるウィザードで、Generic -> Generic JDBC datasource -> JDBC Drivers をクリックします。
  4. ウィザードの次のページで、接続の詳細を入力します。
  5. 次のページで、Authentication Mode オプションを「Use specified username and password」に設定します。ユーザー名、パスワード、JDBC URL を入力します。JDBC URL は jdbc:api: で始まり、セミコロン区切りの接続プロパティが続きます。

    まず、Profile 接続プロパティをディスク上の ApacheAirflow プロファイルの場所に設定します(例:C:\profiles\ApacheAirflow.apip)。次に、ProfileSettings 接続プロパティを ApacheAirflow の接続文字列に設定します(以下を参照)。

    ApacheAirflow API プロファイル設定

    Apache Airflow 3 では、API 認証に JWT Bearer トークンを使用します。トークンは、Airflow Web UI の「Settings」から生成するか、Airflow CLI の airflow users create と /api/v2/auth/token エンドポイントを使って生成できます。なお、このプロファイルは /api/v2 REST API を使用する Apache Airflow 3.x を対象としています。Airflow 2.x で使われていた従来の /api/v1 エンドポイントには対応していません。

    以下の接続プロパティを設定すると、接続できるようになります。

    • AuthScheme:APIKey に設定します。
    • APIKey:Apache Airflow の JWT Bearer トークンに設定します。
    • Server:Airflow インスタンスのベース URL に設定します(例:http://localhost:8080)。

    ビルトイン接続文字列デザイナ

    JDBC URL の構成については、Apache Airflow JDBC Driver に組み込まれている接続文字列デザイナを使用できます。JAR ファイルをダブルクリックするか、コマンドラインから JAR ファイルを実行してください。

    
    java -jar cdata.jdbc.api.jar
    

    接続プロパティを入力し、接続文字列をクリップボードにコピーします。

    ビルトイン接続文字列デザイナで JDBC URL を生成(Salesforce の例)

    JDBC URL を設定する際に、Max Rows 接続プロパティの設定も検討してください。返される行数を制限することで、特にレポートやビジュアライゼーションの設計時にパフォーマンスを向上させることができます。

    以下は一般的な JDBC URL です:

    
    jdbc:api:Profile=C:\profiles\ApacheAirflow.apip;AuthScheme=APIKey;ProfileSettings='APIKey=your_jwt_token;Server=http://localhost:8080';
    
  6. ドライバークラスを入力します:cdata.jdbc.api.APIDriver
  7. 接続プーリングとカスタムパラメータのデフォルト値でウィザードを完了します。

Information Design Tool で Apache Airflow のデータ を分析

JDBC 接続を使用して、Information Design Tool でApache Airflow のデータを分析できます。

  1. Local Projects ビューで、接続(.cnx ファイル)をダブルクリックして Apache Airflow データソースを開きます。
  2. Show Values タブでは、テーブルデータをロードしたり SQL クエリを入力したりできます。テーブルデータを表示するには、テーブルのノードを展開し、テーブルを右クリックして Show Values をクリックします。値が Raw Data タブに表示されます。
  3. Analysis タブでは、カラムをチャートの軸にドラッグ&ドロップしてデータを分析できます。
Information Design Tool でのチャート

ローカル接続を公開

ユニバースを CMS に公開するには、接続も公開する必要があります。

  1. Local Projects ビューで、接続を右クリックし、Publish Connection to a Repository をクリックします。
  2. リポジトリのホストとポート、接続の認証情報を入力します。
  3. 接続を公開するフォルダを選択します。
  4. 表示される成功ダイアログで Yes をクリックして、接続のショートカットを作成します。

JDBC Driver for Apache Airflow でユニバースを作成

以下の手順に従って、JDBC ドライバー上にユニバースを作成します。この例のユニバースはリポジトリに公開されるため、前のステップで作成した公開済み接続を使用します。

  1. Information Design Tool で、File -> New Universe をクリックします。
  2. プロジェクトを選択します。
  3. リレーショナルデータソース上にユニバースを作成するオプションを選択します。
  4. 公開済み接続へのショートカットを選択します。
  5. Data Foundation の名前を入力します。
  6. オブジェクトとしてアクセスしたいテーブルとカラムをインポートします。
  7. Business Layer の名前を入力します。

ユニバースを公開

以下の手順に従って、ユニバースを CMS に公開します。

  1. Local Projects ビューで、ビジネスレイヤーを右クリックし、Publish -> To a Repository をクリックします。
  2. Publish Universe ダイアログで、インポート前の整合性チェックを入力します。
  3. ユニバースを公開するリポジトリ上のフォルダを選択または作成します。

Web Intelligence で Apache Airflow のデータ をクエリ

公開されたユニバースを使用して、Web Intelligence から Apache Airflow に接続できます。

  1. cdata.jdbc.api.lic ファイルを BusinessObjects インストールディレクトリの \dataAccess\connectionServer\jdbc\drivers\jdbc サブフォルダにコピーします。ライセンスファイルは、インストールディレクトリの lib サブフォルダにあります。
  2. BusinessObjects ランチパッドから Web Intelligence を開き、新しいドキュメントを作成します。
  3. データソースとして Universe オプションを選択します。
  4. Apache Airflow ユニバースを選択します。これによりクエリパネルが開きます。Result Objects ペインにオブジェクトをドラッグして、クエリで使用します。
Web Intelligence でのApache Airflow のデータオブジェクトを使用したクエリ

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

API Driver で Apache Airflow のライブデータに接続

Apache Airflow に接続