こんにちは。CData Software Japan リードエンジニアの杉本です。
今回はデータパイプラインツール Qlik Replicate を使って、Google Spreadsheet のデータをMySQLに連携してみたいと思います。
Qlik Replicate とは?
Qlik Replicate はBIツール Qlik Sense で有名なQlik 社が提供するデータ分析基盤のためのデータパイプライン・データ統合ツールです。
https://www.qlik.com/ja-jp/products/qlik-replicate
主要なプラットフォームに多く対応しているのが特徴でAWS・GCP・Azure・Oracle・Snowflake などのDWH に各種データを取り込むことが可能です。
今回のシナリオ
今回は前述の通り、Qlik Replicateを使って、Google Spreadsheet のデータをMySQLにレプリケートしてみたいと思います。
しかしながら、現状Qlik Replicate はGoogle Spreadsheet のデータをデータソースとして扱うことはできません。
https://help.qlik.com/en-US/replicate/May2021/Content/Replicate/Main/source%20endpoints/Add_manage_sources.htm
そこで、CData ODBC Driverを用いて、このボトルネックを解決します。
まず、Qlik Replicate からはODBCインタフェースでSQL(Select文)をCData Google Spreadsheet ODBC Driverに向けて発行してもらいます。
そのリクエストを受け取った、CData Google Spreadsheet ODBC Driverは、SQL文を解析し、Google Spreadsheet の Web API のエンドポイントに対してHTTPリクエスト形式に変換して発行、レスポンスをQlik Replicate に返却します。
あとはQlik Replicate の標準機能で TargetとなるDB、MySQLやSQL Server、MongoDB、BigQuery、Snowflake などへデータを複製を行うことができます。
なお、今回のシナリオではGoogle Spreadsheet を例に紹介していますが、CData で提供するkintone やMarketo・Amazon MarketplaceなどのODBC Driverも同様に接続が可能です。
https://www.cdata.com/jp/odbc/
手順
CData Google Sheets ODBC Driver のインストール
最初にCData Google Sheets ODBC Driver を対象のマシンにインストールします。
以下のURL から30日間のトライアルがダウンロードできます。
https://www.cdata.com/jp/drivers/gsheets/odbc/
インストーラーを入手後、対象のマシンでセットアップを進めていきます。
セットアップが完了すると、以下のようにODBC DSNの接続設定画面が表示されるので、Google Sheets への認証に必要な情報を入力します。
プロパティ
|
設定値
|
Auth Scheme
|
OAuth
|
Spreadsheet
|
対象のスプレッドシートのIDを指定
|
「接続テスト」ボタンをクリックすると、ブラウザが立ち上がり以下のように対象のGoogle Sheets へのアクセス許可を求める画面が表示されます。内容を確認の上、「許可」をクリックしましょう。
最終的に以下のような接続テストに成功したメッセージが表示されればOKです。
設定を保存して、ODBC DSNを閉じます。
ODBC Data Source 接続を追加
CData ODBC Driver の設定が完了したら、Qlik Replicate を立ち上げてレプリケーション構成を進めていきましょう。
Qlik Replicate ではタスクという単位でレプリケーション処理を構成していきますが、まずタスクで利用するデータソースとレプリケーション先のコネクション情報を登録する必要があるので、この設定を行います。
Qlik Replicate の管理画面に移動したら、 「Manage Endpoint Connections…」をクリックし
「+New Endpoint Connection」をクリック
この画面からデータソースとレプリケーション先(ターゲット)のコネクションを構成していきます。
まずはデータソースとなるGoogle Spreadsheet へのコネクションを構成します。前述の通り、Google Spreadsheet への連携はCData ODBC Driver を経由して行うため、「Role:Source」「Type:ODBC」でコネクションを構成し
事前に構成しておいたGoogle Spreadsheet のDSNを指定します。
任意のNameを指定したあと、Test Connection がパスできればOKです。
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」を指定します。
Task を作成後、以下のような画面に移るので、
先程構成したコネクションをそれぞれデータソースとターゲットにドラッグアンドドロップで指定します。
レプリケーション対象のテーブルを選択
データソースとターゲットを決めたら、レプリケーション対象のテーブルを指定しましょう。
「Table Selection」をクリックし
「Search」をクリックして、対象となるテーブルを検索します。
以下のようにGoogle Spreadsheet のブック・シートの一覧がテーブルとして表示されるので、任意のテーブルを選択していきます。
これで以下のように選択されればOKです。
ちなみにデフォルトではテーブルの全レコード・全カラムをレプリケーションしますが、Global Rules から細かな条件や項目の設定がチューニング可能です。
実行
それでは作成したTask を実際に実行してみましょう。
「Run」をクリックすることで、レプリケーションを開始できます。
レプリケーションが進むと、以下のようにMonitor 画面に遷移し、レプリケーション結果を確認できます。
Completed が表示されればOKです。
実際にMySQL のテーブルを確認してみると、以下のようにテーブルが自動生成され、データが正常に複製されていました。
おわりに
このようにCData ODBC Driver を利用することで、各種クラウドサービスを Qlik Replicate の接続先として利用できるようになります。
CData では Google Spreadsheet 以外にもODBC Driver を多数提供しています。Kintone や HubSpot、Sansanなど様々なデータソースをサポートしているので、ぜひ自社で使っているクラウドサービスやNoSQL と合わせて活用してみてください。
ご不明な点があれば、お気軽にテクニカルサポートまでお問い合わせください。
https://www.cdata.com/jp/support/submit.aspx
関連コンテンツ