CData SyncでGoogleBigQueryのデータをAutonomous Database(ADB)に連携してみた

目次

CData Syncを使ってGoogle BigQueryのデータをOracle Cloud Infrastracture(OCI)に構築済みのAutonomous Databaseに連携する

はじめに

CData Syncは様々なSaaS/DBにあるデータを抽出して、データ分析基盤への同期に特化したデータパイプラインツールです。
詳しくはこちらをご覧ください。
以前のバージョンから UIのモダナイズ、dbt Cloud 対応、CDC 強化、新コネクタなどユーザビリティと機能面が強化されています。

今回は、CData Syncを使ってGoogle BigQueryのデータをOracle Cloud Infrastracture(OCI)に構築済みのAutonomous Database(ADB)に連携してみます。
Google BigQueryについてはこちらをご覧ください。
ADBの主なWorkloadのうち、今回は、Autonomous Data Warehouse(以下「ADW」と表記)で検証を行います。

実現したい構成

パブリックサブネット内に配置されたコンピュート・インスタンスにインストールされたCData SyncでGoogle BigQueryのデータをADWへ連携する。

前提条件

  1. コンピュート・インスタンスにCData Syncがインストール済みであること
    詳しくはこちらをご覧ください。
     CData Sync v24をインストールしてみた

  2. OCI上にADWが構築済みであること
    詳しくはこちらをご覧ください。
     Autonomous Databaseの作成

  3. パブリック・サブネット内のコンピュート・インスタンスからADWへ接続が可能であること

  4. BigQueryが利用可能であること
    今回はBigQuery サンドボックスを使用するため、こちらをご覧ください。
     BigQuery サンドボックス

手順

1.ADWコネクション設定

まずは同期先となるADWのコネクション設定を行います。

1.1.Oracle JDBC Driverセットアップ

こちらのJDBCダウンロードサイトから「Oracle Database 21c」の「Zipped JDBC driver (ojdbc11.jar) and Companion Jars」をダウンロードします。

ダウンロードしたファイルを展開後、JDBCドライバ(ojdbc11.jar、oraclepki.jar、osdt_core.jar、osdt_cert.jar)をCData Syncのインストールフォルダにコピーします。

Windows Serverの場合:
例)C:\Program Files\CData\CData Sync\jre\jdk-17.0.5+8\lib

LinuxOSの場合:
/インストーラを展開したディレクトリ/libs
例)/opt/sync/libs

1.2.ADW接続文字列のコピー

対象のADWを選択後、詳細画面で「データベース接続」をクリックし、「HIGH」「LOW」「MEDIUM」のうち、いずれかの接続文字列をコピーします。(今回は「MEDIUM」の文字列をコピーして使用します)
接続文字列はCData SyncからADWに接続する際に必要な情報となるためテキスト等に控えておきます。

1.3.CData Syncのコネクタの設定

CDataSync管理コンソールにログイン後、左メニューの「接続」をクリックします。
「Connections」画面で「接続を追加」をクリックします。

「コネクタを選択」画面で「同期先」タブに切り替え、コネクタの一覧から「oracle」を選択します。(今回は検索ワードでコネクタを検出しています)

設定画面で以下の各項目を設定します。

・接続名:任意の接続名
・Connection Type:Data Source
・User:ADWに設定した管理者ユーザ
・Password:ADWに設定した管理者ユーザのパスワード
・Data Source:取得した「ADW接続文字列」

設定画面の右上にある「保存およびテスト」をクリックします。
「接続は正常に作成されました」と表示されれば設定が完了となります。

「Connections」画面を開き、ADWの接続が作成されていることを確認します。

2.BigQueryコネクション設定

つぎにデータソースとなるBigQueryのコネクション設定を行います。

2.1.BigQueryのID取得

BigQueryの接続に必要なProjectIDを取得しておきます。
BigQuery ProjectID

2.2.データセット名の確認

BigQueryの接続に必要なAWDへインポート対象となるデータセット名を確認しておきます。
BigQuery データセット

2.3.BigQueryのコネクタ設定

CDataSync管理コンソールにログイン後、左メニューの「接続」をクリックします。
「Connections」画面で「接続を追加」をクリックします。

「コネクタを選択」画面で「データソース」タブになっていることを確認し、コネクタの一覧から「Google BigQuery」を選択します。(今回は検索ワードでコネクタを検出しています)

設定画面で以下の各項目を設定します。

・接続名:任意の接続名
・Auth Scheme:OAuthを選択
・Project Id:前項で取得したProject Idを指定
・Dataset Id:データセット名を指定
・Insert Mode:Streamingを選択

設定画面の左下にある「Google BigQueryへの接続」をクリックします。

Googleのログイン画面が表示されます。
BigQueryが利用可能なGoogleアカウントでログインします。

設定画面の右上にある「保存およびテスト」をクリックします。
「接続は正常に作成されました」と表示されれば設定が完了となります。

「Connections」画面を開き、BigQueryの接続が作成されていることを確認します。

3.ジョブ設定

データソースと同期先のコネクション設定が完了したら、BigQueryからADWへのデータ連携ジョブを作成します。

3.1.CData Syncのジョブの設定

管理コンソールの左メニューの「ジョブ」をクリックします。
「ジョブ」画面で「ジョブを追加」をクリックします。

「ジョブを追加」ダイアログ画面で以下の項目を設定します。
 ・名前:任意のジョブ名
 ・データソース:BigQueryのコネクション名
 ・同期先:ADWのコネクション名

項目を設定後、「ジョブを追加」をクリックします。

「ジョブ」画面でジョブが作成されていることを確認します。

作成したジョブをクリックし、ジョブの詳細画面で「タスク」タブに切り替えます。
「タスクを追加」をクリックします。

「タスクを追加」ダイアログが表示されます。
データソースとなるBigQueryのデータセット内のテーブルが表示され、ここで選択したテーブルがADWへ連携されます。
テーブルを選択し「タスクを追加」をクリックします。

今回はわかりやすいように、同期先でのテーブル名を意図的に変更します。
追加したタスクをクリックし「タスクの詳細画面」で右側の「同期先情報」右上の「Edit Setting」アイコンをクリックします。

「同期先情報」ダイアログが表示され「テーブル名」を変更することができます。
デフォルトではファイル名がそのままテーブル名として同期されます。
今回は、BigQueryから連携されたテーブルであること明記するため「BigQuery_(テーブル名)」という名前に変更します。
変更後、「保存」をクリックします。

同期先のテーブル名、カラム名を大文字に統一します。
同期先のDBによっては、テーブル名、カラム名に大文字、小文字が混在することでSQL文で名前を指定する際、ダブルクォーテーション(“”)で囲う必要があるため事前に統一しておきます。

「ジョブの詳細」画面の「高度な設定」タブでレプリケーションオプションの右上の「Edit Setting」アイコンをクリックします。

「追加オプション」に「StoresUppercaseIdentifiers = True」と入力して「保存」をクリックします。

「ジョブの詳細」画面で右上の「実行」をクリックします。

「ジョブ名(今回は[BigQuery_ADW])が完了しました」と表示されればデータ連携が成功です。

同期先のADWにデータが同期されていることを確認します。

以上がCData Syncを使用してGoogle BigQueryのデータをADWへ連携する流れとなります。

まとめ

今回、CData Syncでデータ連携を検証してみてみました。
今回は一部の機能のみを使用してデータ連携の検証を行いましたが、CData Syncには他にも多くの機能が備わっており既存の環境に合わせた柔軟なデータ連携が可能です。
CData Syncは400種類以上のデータソースと20種類以上のデータベースを同期先としてサポートしています。
複数のSaaS/DBを使用している環境において、データの集約と分析のための可視化を課題と感じられているお客様も多く、CData Syncであればシンプルな構成および手順(3ステップ)でデータ連携が実現できます。
また複数のデータソースから同一のデータベース同期先へ、複数連携の実現も容易です。
データ集約などご検討いただいてる際は、弊社へご依頼をご一考いただけますと幸いです。

スマートスタイルTECHブログについて

スマートスタイルTECHブログでは、日頃OCIのサポート業務に従事している有資格者で構成された技術サポートチームがOCIに関する技術情報を発信しています。データベースのお困りごとはお気軽にご相談下さい。

よかったらシェアしてね!
  • URLをコピーしました!
目次