Magic xpi からCData ODBC Driver を使ってApache Airflow につないでみた

桑島義行
桑島義行
テクニカルディレクター
CData ODBC Driver を使って、Apache Airflow へのデータ連携をMagic xpi から行うことができます。Magic xpi の「データマッパー」機能を使って、Apache Airflow のデータをMagic xpi で使ってみましょう。



ノーコードでデータを連携・同期・統合するデータ連携(EAI)ツール「Magic xpi」には、ODBC でデータベースへ接続する機能が備わっているので、これを使ってApache Airflow のデータ連携を行うことが可能です。 通常、Apache Airflow などのSaaS として提供されるアプリケーションにはWeb API でアクセスしますが、CData Apache Airflow ODBC Driver によって、RDB にアクセスするのと同感覚で、Apache Airflow のデータを扱うことができます。

CData ODBC ドライバとは?

CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。

  1. Apache Airflow をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
  2. 多様なアプリケーション、ツールにApache Airflow のデータを連携
  3. ノーコードでの手軽な接続設定
  4. 標準 SQL での柔軟なデータ読み込み・書き込み

CData ODBC ドライバでは、1.データソースとしてApache Airflow の接続を設定、2.Magic xpi 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。

CData ODBC ドライバのインストールとApache Airflow への接続設定

まずは、本記事右側のサイドバーからAPI ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。

Magic xpi スタジオにてプロジェクトを作成して、ODBC接続設定を行います。

  1. Magic xpi スタジオを起動してメニューバーからファイル > 新規 を選択します。新規プロジェクトウィンドウが起動したらプロジェクト名を指定して新規プロジェクトを作成します。
    magicxpi
  2. メニューバーからプロジェクト > リソース を選択します。リソース設定ウィンドウが起動したら左下の「新規」ボタンをクリックします。
    magicxpi
  3. 新規リソースウィンドウにて、リソースタイプを「Database」を選択、リソース名にCDataApache Airflowを指定して「OK」ボタンをクリックします。
    magicxpi
  4. リソース設定ウィンドウにて、DBMSには「ODBC」、データソース名には、Microsoft ODBC データソースアドミニストレーターのシステムDSNで定義されたデータソース名(DSN)、例えば「CData Apache Airflow Source」などを設定します。
    magicxpi Microsoft ODBC データソースアドミニストレーターを使ってDSN を作成および設定する方法は、CData Apache Airflowのヘルプドキュメントの「はじめに」をご参照ください。

    Microsoft ODBC データソースアドミニストレーターで必要なプロパティを設定する方法は、ヘルプドキュメントの「はじめに」をご参照ください。

    まず、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)。

    「検証」ボタンをクリックしてデータベースとの接続が成功することを確認して、リソース設定ウィンドウを「OK」ボタンをクリックして終了します。

Apache Airflow のデータをCSV ファイルへ出力するフローの作成

Magic xpi スタジオにて、データマッパーコンポーネントを使用してApache Airflow のデータをCSV ファイルへ出力するフローを作成します。

  1. プロジェクト内に作成されたフローを右クリックして、特性を選択します。フロー特性ウィンドウが起動したら自動起動をYesに変更して「OK」ボタンをクリックします。
    magicxpi
  2. トリガコンポーネントが「自動起動」に設定されたことを確認します。コンポーネント内のデータマッパーを右側のペインにドラッグ&ドロップします。
    magicxpi
  3. データマッパーウィンドウが起動するので「構成」ボタンをクリックします。
    magicxpi
  4. 送り元/送り先管理ウィンドウが開くので、送り元のタイプをDatabase、送り先のタイプをフラットファイルに設定します。
    magicxpi
  5. 送り元の「特性」ボタンをクリックして、データベーススキーマ特性ウィンドウにてDB オペレーションで「Select」を選択、データベース定義で「CDataApache Airflow」を選択して「ウィザード」ボタンをクリックします。
    magicxpi
  6. 使用可能テーブルからテーブルを選択して「追加」ボタンをクリックして選択済テーブルに追加されたことを確認して「次へ」ボタンをクリックします。
    magicxpi
  7. データベースウィザードにて出力したいカラムを使用可能カラムから「追加」ボタンをクリックして選択済カラムに追加されたことを確認して「次へ」ボタンをクリックします。 Where 句とOrder By 句の定義ウィンドウが表示されるので必要であれば設定して「次へ」ボタンをクリックします。
    magicxpi
  8. ウィザードの結果にてSQL が表示されます。誤りがなければ「終了」ボタンをクリックします。
    magicxpi
  9. 次に、送り先の「特性」ボタンをクリックして、フラットファイルウィンドウにてデータの送り先で「ファイル」を選択、右横のウィンドウにパス付の出力ファイル名を入力します。 下段の「新規」ボタンを、出力するカラム数分クリックして出力項目を定義します。出力項目に併せて必要に応じて型や桁数を定義してください。
    magicxpi
  10. 送り元/送り先管理ウィンドウに戻り「マップ」ボタンをクリックします。
  11. 「マップ」ウィンドウが起動するので、送り元から送り先の項目へのドラッグ&ドロップ操作で線でつなぎます。「OK」ボタンをクリックします。 送り元/送り先管理ウィンドウに戻り「OK」ボタンをクリックします。
    magicxpi

Magic xpi スタジオからのテスト実行

Magic xpi スタジオから作成したフローを実行します。

  1. メニューバーからデバッガ > 開く を選択します。チェック処理が実行され正常に終了すると、メニューバーからデバッガ > 実行 が活性化されるので選択します。
    magicxpi
  2. フローが実行されて正常に終了すると送り先のフラットファイルウィンドウで指定したファイルが作成されてApache Airflow 内の指定したカラムのデータが出力されていることを確認できます。
    magicxpi

おわりに

このようにCData ODBC ドライバと併用することで、270を超えるSaaS、NoSQL データをコーディングなしで扱うことができます。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。

CData ODBC ドライバは日本のユーザー向けに、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。

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

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

Apache Airflow に接続