データ統合ツールQlik Replicate を使ってAirtable のデータをMySQL にレプリケートする方法
Qlik Replicate はBI ツールのQlik Sense で有名な、Qlik 社が提供するデータ分析基盤のためのデータパイプライン・データ統合ツールです。主要なプラットフォームに多く対応しているのが特徴で、AWS・GCP・Azure・Oracle・Snowflake などのDWH に各種データを取り込むことが可能です。
Qlik Replicate ではODBC インターフェースが用意されているので、CData ODBC Driver for Airtable と組み合わせることで、各種クラウドサービスのAPI にアクセスすることができるようになります。本記事では、CData ODBC ドライバを使ってQlik Replicate からAirtable のデータをMySQL にレプリケートする方法をご紹介します。
CData ODBC ドライバとは?
CData ODBC ドライバは、以下のような特徴を持ったリアルタイムデータ連携ソリューションです。
- Airtable をはじめとする、CRM、MA、会計ツールなど多様なカテゴリの270種類以上のSaaS / オンプレミスデータソースに対応
- 多様なアプリケーション、ツールにAirtable のデータを連携
- ノーコードでの手軽な接続設定
- 標準 SQL での柔軟なデータ読み込み・書き込み
CData ODBC ドライバでは、1.データソースとしてAirtable の接続を設定、2.Qlik Replicate 側でODBC Driver との接続を設定、という2つのステップだけでデータソースに接続できます。以下に具体的な設定手順を説明します。
CData ODBC ドライバのインストールとAirtable への接続設定
まずは、本記事右側のサイドバーからAirtable ODBC Driver の無償トライアルをダウンロード・インストールしてください。30日間無償で、製品版の全機能が使用できます。
インストール後、ODBC DSN(データソース名)で接続プロパティを設定します。Microsoft ODBC Data Source Administrator を使用して、ODBC DSN を作成および設定できます。
Airtable への接続
それでは、Airtable に接続していきましょう。CData 製品は、Airtable にテーブルとビューを要求します。 Schema プロパティ(オプション)を使用すると、表示されるテーブルおよびビューを特定のベースに制限できます。 特定のベースに制限したい場合は、このプロパティを使用するスキーマの名前に設定してください。(これはAirtable のBase 名に相当します。)
すべてのAirtable Bases に加えて、DataModelInformation という名前の静的スキーマもご利用いただけます。 このスキーマでは、Bases、Tables、Users のような静的テーブルをクエリできます。 DisplayObjectIds がTrue に設定されている場合、Schema の値は名前ではなくAirtable Base id に設定する必要があります。
Airtableへの認証
続いて、認証方法を設定しましょう。個人用アクセストークンまたはOAuth PKCE のいずれかを使用してAirtable に認証できます。
個人用アクセストークン
個人用アクセストークンをまだ生成していない場合は、以下のステップで生成してみましょう。
- ユーザーアカウントにログインします
- "https://airtable.com/create/tokens" に移動します
- Create new token をクリックします
- Scopes で、Add a scope をクリックして以下の各スコープを追加します
- data.records:read
- data.records:write
- schema.bases:read
- Access で、トークンにアクセス権を付与するすべてのワークスペースとベースを追加します
- Create token をクリックしてトークンを生成します。生成されたトークンは一度しか表示されませんので、必ずコピーして保存してください
次に、以下の設定を行います。
- AuthScheme:PersonalAccessToken
- Token:先ほど生成した個人用アクセストークンの値
OAuth PKCE については、 href="/kb/help/" target="_blank">ヘルプドキュメントの「はじめに」をご確認ください。
Qlik Replicate にODBC データソースを追加
CData ODBC ドライバの設定が完了したら、Qlik Replicate を立ち上げてレプリケーション構成を進めていきましょう。Qlik Replicate ではタスクという単位でレプリケーション処理を構成していきますが、まずタスクで利用するデータソースとレプリケーション先のコネクション情報を登録する必要があるので、この設定を行います。
- Qlik Replicate の管理画面に移動したら、 「Manage Endpoint Connections…」をクリックします。
- その後表示される画面で、「+New Endpoint Connection」をクリック。この画面からデータソースとレプリケーション先(ターゲット)のコネクションを構成していきます。
- まずはデータソースとなるAirtable へのコネクションを構成します。前述の通り、Airtable への連携はCData ODBC ドライバを経由して行うため、「Role:Source」「Type:ODBC」でコネクションを構成します。
- そして、事前に構成しておいたAirtable のDSN を指定します。任意のName を指定したあと、Test Connection がパスできれば設定完了です。
MySQL Target 接続を追加
続いて、レプリケーション先となるMySQL へのコネクションも追加します。
- 先程と同じように「+New Endpoint Connection」をクリックします。
- 「Role: Target」「Type: MySQL」を指定して、Server アドレスやUserName、Password などMySQL 接続に必要な接続情報をそれぞれ指定し、保存します。
Task の構成
コネクションの作成が完了したら、実際のレプリケーション処理であるTask の作成を進めていきましょう。
- 「+New Task」をクリックし、任意の名称でTask を作成します。Replication Profileは「Unidirectional:単方向」でTask Optionsは「Full Load」を指定します。
- タスク作成後の画面で、データソースには先程作成したAirtable のコネクションを、ターゲットにはMySQL のコネクションを、ドラッグドロップでそれぞれ指定します。
レプリケーション対象のテーブルを選択
データソースとターゲットを決めたら、レプリケーション対象のテーブルを指定しましょう。
- 「Table Selection」をクリックします。
- 「Search」をクリックして、対象となるテーブルを検索します。以下のようにAirtable のテーブル一覧が表示されるので、任意のテーブルを選択していきます。
- これで以下のように選択されればOK です。ちなみにデフォルトではテーブルの全レコード・全カラムをレプリケーションしますが、Global Rules から細かな条件や項目の設定がチューニング可能です。
作成したTask を実行
それでは作成したTask を実際に実行してみましょう。
- 「Run」をクリックすることで、レプリケーションを開始できます。
- レプリケーションが進むとMonitor 画面に遷移し、レプリケーション結果を確認できます。Completed が表示されればOKです。
- 実際にMySQL のテーブルを確認してみると、以下のようにテーブルが自動生成され、データが正常に複製されていました。
おわりに
このようにCData ODBC ドライバを利用することで、各種クラウドサービスをQlik Replicate の接続先として利用できるようになります。また、今回は入力データソースとして利用しましたが、出力データソースとしても対応可能になっています。 CData ではAirtable 以外にも270種類以上のデータソース向けにODBC Driver を提供しています。30日の無償評価版が利用できますので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
日本のユーザー向けにCData Sync は、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。