SSAS でApache Airflow のデータに連携するOLAP Cube を作成
SQL Server Analysis Services (SSAS) は、意思決定支援やビジネスアナリティクスで使われる解析エンジンです。ビジネスレポートおよび、Power BI やExcel、 Reporting Services レポート、その他のデータ可視化ツールのようなクライアントアプリケーションに、エンタープライズレベルのセマンティックデータを提供します。Apache Airflow 用のCData ADO.NET プロバイダーと合わせれば、Apache Airflow を使って、より深く速いデータ分析のためのキューブを作成できます。
この記事では、Analysis Services プロジェクトをVisual Studio で作成し、Apache Airflow の多次元モデルを構築および配置する方法を説明します。これには、アクセス可能なSSAS インスタンスと、ADO.NET プロバイダーのインストールが必要です。
Apache Airflow 用のJDBC データソースの設定
まず、Visual Studio で新しい多元的なAnalysis Service とデータマイニングプロジェクトを作成します。次に、プロジェクト内でApache Airflow 用のデータソースを作成します。
- [Solution Explorer] の[Data Source] を右クリックし、[New Data Source] を選択します。
- 既存または新規の接続に基づいて、データソースを作成することを選択し、[New] をクリックします。
- [Connection Manager] のApache Airflow 用CData ADO.NET プロバイダーを選択し、必要な接続プロパティに入力後、[Next] をクリックします。
まず、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)。
接続を構成する際に、Max Rows プロパティを定めることも可能です。これによって戻される行数を制限するため、可視化・レポートのデザイン設計時のパフォーマンスを向上させるのに役立ちます。
- インパーソネーションを[Inherit] に設定し、[Next] をクリックします。
- データソースに名称(CData Apache Airflow Source) を入力し、[Finish] をクリックします。
データソースビューの作成
データソースの次に、データソースビューを作成します。
- [Solution Explorer] で[Data Source Views] を右クリックし、[New Data Source View] を選択します。
- 先ほど作成したデータソース(CData Apache Airflow Source) を選択し、[Next] をクリックします。
- 基になるデータソースのパターンに一致する外部キーを選択し、[Next] をクリックします。
- Apache Airflow の表を選択、ビューに追加し、[Next] をクリックします。
- ビューに名前を付け、[Finish] をクリックします。
スキームに一致する外部キーに基づいて、基礎的なデータとのリレーションが検出されます。[Data Source View] をダブルクリックすることで、これらのリレーションを確認・編集することができます。
[Data Source View] へのセカンダリデータソースの追加はサポートされないことに注意してください。複数のデータソースを利用する場合、SSAS は、すべてのソースがADO.NET プロバイダーでは使用できないOpenRowset 経由のリモートクエリをサポートすることを必要とします。
Apache Airflow 用のキューブを作成する
プロジェクトを処理してApache Airflow をSSAS に展開するための最後のステップはキューブの作成です。
- [Solution Explorer] の[Cubes] を右クリックし、[New Cube] を選択します。
- [Use existing tables] を選択し、[Next] をクリックします。
- メジャーグループテーブルに使用するテ-ブルを選択し、[Next] をクリックします。
- キューブに含ませたいメジャーを選択し、[Next] をクリックします。
- 使用可能なテーブルに基づいて作成するディメンションを選択し、[Next] をクリックします。
- すべての選択内容を確認し、[Finish] をクリックします。
プロジェクトを処理する
データソースと、データソースビュー、キューブを作成すると、SSASにキューブを展開する準備が完了します。ターゲットサーバーとデータベースを構成するために、プロジェクトを右クリックしプロパティを選択します。デプロイメントに移動し、ターゲットセクションでサーバーとデータベースのプロパティを設定します。
ターゲットサーバーとデータベースを構成した後、プロジェクトを右クリックして[Process] を選択します。このステップの一部として、プロジェクトの構成・デプロイが必要となる場合があります。プロジェクトを構成・デプロイし、[Process Database]ウィザードにある[Run] をクリックします。
SSAS インスタンスにApache Airflow 用のOLAP キューブが作成され、分析、レポート、表示の準備が完了します。Apache Airflow 用のCData ADO.NET プロバイダーの30日の無償評価版をダウンロードして、SSAS データをご利用ください。