各製品の資料を入手。
詳細はこちら →Google Cloud Data Fusion でExcel のデータを扱う方法:CData JDBC Driver
CData JDBC ドライバを使って、Google Cloud Data fusion で Excel のデータ をBigQuery にETL。
最終更新日:2022-05-16
この記事で実現できるExcel 連携のシナリオ
こんにちは!プロダクトスペシャリストの宮本です。
Google Cloud Data Fusion は、ノーコードでデータ連携の設定が可能な言わば GCP の ETL ツール(サービス)です。たくさんのコネクタや変換・分析機能がデフォルトで用意されているため、さまざまなデータソースを色々な組み合わせで扱うことが可能なようです。 また JDBC を扱うこともできるため、この記事では、CData JDBC Driver for Excel のデータ を使って、Excel のデータ データをCloud Data Fusion でGoogle BigQuery にノーコードでパイプラインします。
Cloud Data Fusion の準備
まずはCloud Data Fusion のインスタンスを作成します。
- Data Fusion のトップ画面にある「CREATE INSTANCE」からインスタンスを作成します。
- 作成されたインスタンス名を先ほどの画面でクリックすると以下の画面に遷移しますので、画面下部にある Service Account をコピーします。
- 画面上部にある追加からメンバーを追加します。メンバー名は先ほどコピーした「Service Account」に合わせてください。 役割は BiqQuery へもアクセスしますので、「BigQuery 管理者」、「Cloud Data Fusion 管理者」、「Cloud Data Fusion API サービス エージェント」を付与します。

CData JDBC Driver for Excel のアップロード
ここからは実際に、Data Fusion の設定をしていきます。 まずは JDBC Driver をアップロードを行います。
- 「View Instance」をクリックして、Data Fusion の Control Center を開きます。
- Control Center が表示されたら、「+」ボタンをクリックして JDBC Driver をアップロードしていきます。
- Name:アップロードしたドライバーに設定する名前
- Class name:cdata.jdbc.excel.ExcelDriver
- アップロードする際の注意点として、Driver のファイル名を name-version の形式に変更してアップロードする必要があります。 なお、jarファイルをダブルクリックした際に表示されているバージョンをもとに「excel-connector-java-19.0.7115.0.jar」に変更しました。
- アップロードが成功するとこのような画面が表示されるので、「Create a Pipeline」をクリックします。



Excel からGoogle BigQuery へのパイプラインの作成
Data Fusion のパイプライン作成
インプット元はサイドメニューの「Source」から選択します。今回は先ほどアップロードした Excel のデータ の JDBC Driver を使用するため、「DataBase」を選択します。 アウトプット先は同じくサイドメニューより「Sink」→「BigQuery」を選択します。

「DataBase」の設定
「DataBase」のアイコンにカーソルを持ってくるとプロパティというボタンが表示されるのでクリックし、下記内容を設定します。
- Label:Excel
- Reference Name:Excel
- Plugin Name:Excel Driver(Driver をアップロードした際の名前)
- Plugin Type:jdbc
- Connection String:Excel へ接続する際の JDBC URL
- Import Query:インプットしたいデータを抽出するクエリ
Authentication セクションのExcelFile には有効なExcel ファイルを設定する必要があります。
Amazon S3 内のExcel への接続
URI をバケット内のExcel ファイルに設定します。さらに、次のプロパティを設定して認証します。
- AWSAccessKey:AWS アクセスキー(username)に設定。
- AWSSecretKey:AWS シークレットキーに設定。
Box 内のExcel への接続
URI をExcel ファイルへのパスに設定します。Box へ認証するには、OAuth 認証標準を使います。 認証方法については、Box への接続 を参照してください。
Dropbox 内のExcel への接続
URI をExcel ファイルへのパスに設定します。Dropbox へ認証するには、OAuth 認証標準を使います。 認証方法については、Dropbox への接続 を参照してください。ユーザーアカウントまたはサービスアカウントで認証できます。ユーザーアカウントフローでは、以下の接続文字列で示すように、ユーザー資格情報の接続プロパティを設定する必要はありません。
SharePoint Online SOAP 内のExcel への接続
URI をExcel ファイルを含むドキュメントライブラリに設定します。認証するには、User、Password、およびStorageBaseURL を設定します。
SharePoint Online REST 内のExcel への接続
URI をExcel ファイルを含むドキュメントライブラリに設定します。StorageBaseURL は任意です。指定しない場合、ドライバーはルートドライブで動作します。 認証するには、OAuth 認証標準を使用します。
FTP 内のExcel への接続
URI をExcel ファイルへのパスが付いたサーバーのアドレスに設定します。認証するには、User およびPassword を設定します。
Google Drive 内のExcel への接続
デスクトップアプリケーションからのGoogle への認証には、InitiateOAuth をGETANDREFRESH に設定して、接続してください。詳細はドキュメントの「Google Drive への接続」を参照してください。
Connection String は以下の形式です。
jdbc:excel:Excel File='C:/MyExcelWorkbooks/SampleWorkbook.xlsx';

上のキャプチャの赤枠は、Salesforce から BigQuery へアウトプットするデータの定義となります。 こちらは「Import Query」のすぐ右上にある「Get Schema」をクリックすると下の画面が表示されますので、「Import Query」で入力したクエリを実行し、カラムを定義します。

「BigQuery」の設定
こちらも同様に BigQuery のプロパティから下記内容を設定します。
- Label:BigQuery
- Reference Name:BigQuery
- Project ID:使用するProject ID
- DataSet:使用するDataSet
- Table:使用するテーブル名、例:Account_DataFusion

作成したExcel のデータ からBigQuery のパイプラインの実行
まずは作成したパイプラインをデプロイします。赤枠の「Deploy」ボタンをクリックしてデプロイを行います。

デプロイ完了後、Runボタンが表示されますので、クリックします。

このようにCData JDBC ドライバをアップロードすることで、簡単にGoogle Cloud Data Fusion でExcel のデータ データをノーコードで連携し、BigQuery などへのパイプラインを作成することができます。
是非、CData JDBC Driver for Excel 30日の無償評価版 をダウンロードして、お試しください。