【ノーコード】Microsoft OneLake のデータのAzure SQLに連携・統合する方法
CData Sync は、数百のSaaS / DB のデータをAzure SQL をはじめとする各種DB / データウェアハウスにノーコードで統合・レプリケーション(複製)が可能なETL / ELT ツールです。本記事では、Microsoft OneLake のデータをCData Sync を使ってAzure SQL に統合するデータパイプラインを作っていきます。
CData Sync とは?
CData Sync は、レポーティング、アナリティクス、機械学習、AI などで使えるよう、社内のデータを一か所に統合して管理できるデータ基盤をノーコードで構築できるETL ツールで、以下の特徴を持っています。
- Microsoft OneLake をはじめとする数百種類のSaaS / DB データに対応
- Azure SQL など多くのRDB、データレイク、データストア、データウェアハウスに同期可能
- 業務データのデータ分析基盤へのETL / ELT 機能に特化し、極限まで設定操作をシンプルに
- 主要なSaaS データの差分更新やCDC(Change Data Capture、変更データキャプチャ)のサポート
- フレキシブルなSQL / dbt 連携での取得データの変換
CData Sync では、1.データソースとしてMicrosoft OneLake の接続を設定、2.同期先としてAzure SQL の接続を設定、3.Microsoft OneLake からAzure SQL へのレプリケーションジョブの作成、という3つのステップだけでレプリケーション処理を作成可能です。以下に具体的な設定手順を説明します。
1.データソースとしてMicrosoft OneLake の接続を設定
まずはじめに、CData Sync のブラウザ管理コンソールにログインします。CData Sync のインストールをまだ行っていない方は本記事の製品リンクからCData Sync をクリックして、30日の無償トライアルとしてCData Sync をインストールしてください。インストール後にCData Sync が起動して、ブラウザ設定画面が開きます。
それでは、データソース側にMicrosoft OneLake を設定していきましょう。左の[接続]タブをクリックします。
- [+接続の追加]ボタンをクリックします。
- [データソース]タブを選択して、リスト表示されるデータソースを選ぶか、検索バーにデータソース名を入力して、Microsoft OneLake を見つけます。
- Microsoft OneLake の右側の[→]をクリックして、Microsoft OneLake アカウントへの接続画面を開きます。もし、Microsoft OneLake のコネクタがデフォルトでCData Sync にインストールされていない場合には、ダウンロードアイコン(コネクタのアップロードアイコン)をクリックし、[ダウンロード]をクリックすると、CData Sync にコネクタがインストールされます。
- 接続プロパティにMicrosoft OneLake に接続するアカウント情報を入力をします。
Microsoft OneLake に接続するには、以下の接続プロパティを設定します。
- Connection Name:任意の接続名を入力します。
- File Format:使用するファイル形式を選択します。Sync はCSV、PARQUET、AVRO ファイル形式に対応しています。
- Azure Storage Account:Azure ストレージアカウント名を入力します。
- URI:ファイルを含むファイルシステムとフォルダのパスを入力します(例:onelake://Workspace/Test.LakeHouse/Files/CustomFolder)。
CData Sync はMicrosoft OneLake への認証方法を複数サポートしています。Entra ID(旧Azure AD)での認証方法については以下をご参照ください。
Entra ID(旧Azure AD)
Entra ID(旧Azure AD)ユーザーアカウントで接続するには、Auth Scheme で「Entra ID」(旧Azure AD)を選択します。CData Sync には組み込みのOAuth アプリケーションが用意されているため、追加のプロパティを設定する必要はありません。
その他の認証方法については、ヘルプドキュメントをご参照ください。
その他の認証方法
- Azure Service Principal
- Azure Service Principal Certificate
- Azure Managed Service Identity
- [作成およびテスト]をクリックして、正しくMicrosoft OneLake に接続できているかをテストして保存します。これでレプリケーションのデータソースとしてMicrosoft OneLake への接続が設定されました。
2.同期先としてAzure SQL の接続を設定
次に、Microsoft OneLake のデータを書き込む先(=同期先)として、Azure SQL を設定します。同じく[接続]タブを開きます。
- [+接続の追加]ボタンをクリックします。
- [同期先]タブを選択して、リスト表示されるデータソースを選ぶか、検索バーにデータソース名を入力して、Azure SQL を見つけます。
- Azure SQL の右側の[→]をクリックして、Azure SQL データベースへの接続画面を開きます。もし、Azure SQL のコネクタがデフォルトでCData Sync にインストールされていない場合には、ダウンロードアイコン(コネクタのアップロードアイコン)をクリックし、[ダウンロード]をクリックすると、CData Sync にコネクタがインストールされます。
- Enter the necessary connection properties. To connect to Azure SQL, set the following:
- Server: The address of the server hosting the Azure SQL database.
- User: The username provided for authentication with the Azure SQL database.
- Password: The password provided for authentication with the Azure SQL database.
- Database: The name of the Azure SQL database.
Java Edition
The Java version requires the Microsoft SQL Server JDBC Driver, which can be downloaded from the Microsoft Download Center. Copy the JDBC driver to the lib folder of your Java Web server to make a connection.
- [作成およびテスト]をクリックして、正しく接続できているかをテストします。
- これで同期先としてAzure SQL を設定できました。CData Sync では、Azure SQL のデータベース名を指定するだけで、同期するMicrosoft OneLake に併せたテーブルスキーマを自動的にCREATE TABLE してくれます。同期データに合わせたテーブルを事前に作成するなどの面倒な手順は必要ありません。もちろん、既存テーブルにマッピングを行いデータ同期を行うことも可能です。
3.Microsoft OneLake からAzure SQL へのレプリケーションジョブの作成
CData Sync では、レプリケーションをジョブ単位で設定します。ジョブは、Microsoft OneLake からAzure SQL という単位で設定し、複数のテーブルを含むことができます。レプリケーションジョブ設定には、[ジョブ]タブに進み、[+ジョブを追加]ボタンをクリックします。
[ジョブを追加]画面が開き、以下を入力します:
- 名前:ジョブの名前
- データソース:ドロップダウンリストから先に設定したMicrosoft OneLake を選択
- 同期先:先に設定したAzure SQL を選択
すべてのオブジェクトをレプリケーションする場合
Microsoft OneLake のすべてのオブジェクト / テーブルをレプリケーションするには、[種類]セクションで[すべて同期]を選択して、[タスクを追加]ボタンで確定します。
作成したジョブ画面で、右上の[▷実行]ボタンをクリックするだけで、全Microsoft OneLake テーブルのAzure SQL への同期を行うことができます。
オブジェクトを選択してレプリケーションする場合
Microsoft OneLake から特定のオブジェクト / テーブルを選択してレプリケーションを行うことが可能です。[種類]セクションでは、[標準(個別設定)]を選んでください。
次に[ジョブ]画面で、[タスク]タブをクリックし、[タスクを追加]ボタンをクリックします。 
するとCData Sync で利用可能なオブジェクト / テーブルのリストが表示されるので、レプリケーションを行うオブジェクトにチェックを付けます(複数選択可)。[タスクを追加]ボタンで確定します。
作成したジョブ画面で、[▷実行]ボタンをクリックして(もしくは各タスク毎の実行ボタンを押して)、レプリケーションジョブを実行します。 
このようにとても簡単にMicrosoft OneLake からAzure SQL への同期を行うことができました。
CData Sync の主要な機能を試してみる:スケジューリング・差分更新・ETL
ジョブのスケジュール起動設定
CData Sync では、同期ジョブを1日に1回や15分に1回などのスケジュール起動をすることができます。ジョブ画面の[概要]タブから[スケジュール]パネルを選び、[⚙設定]ボタンをクリックします。[間隔]と同期時間の[毎時何分]を設定し、[保存]を押して設定を完了します。これでCData Sync が同期ジョブをスケジュール実行してくれます。ユーザーはダッシュボードで同期ジョブの状態をチェックするだけです。
差分更新
CData Sync では、主要なデータソースでは、差分更新が可能です。差分更新では、最後のジョブ実行時からデータソース側でデータの追加・変更があったデータだけを同期するので、レプリケーションのクエリ・通信のコストを圧倒的に抑えることが可能です。
差分更新を有効化するには、ジョブの[概要]タブから「差分更新」パネルを選び、[⚙設定]ボタンをクリックします。[開始日]と[レプリケーション間隔]を設定して、[保存]します。
SQL での取得データのカスタマイズ
CData Sync は、デフォルトではMicrosoft OneLake のオブジェクト / テーブルをそのままAzure SQL に複製しますが、ここにSQL、またはdbt 連携でのETL 処理を組み込むことができます。テーブルカラムが多すぎる場合や、データ管理の観点から一部のカラムだけをレプリケーションしたり、さらにデータの絞り込み(フィルタリング)をしたデータだけをレプリケーションすることが可能です。
ジョブの[概要]タブ、[タスク]タブへと進みます。選択されたタスク(テーブル)の[▶]の左側のメニューをクリックし、[編集]を選びます。タスクの編集画面が開きます。
UI からカラムを選択する場合には、[カラム]タブから[マッピング編集]をクリックします。レプリケーションで使用しないカラムからチェックを外します。
SQL を記述して、フィルタリングなどのカスタマイズを行うには、[クエリ]タブをクリックし、REPLICATE [テーブル名]の後に標準SQL でフィルタリングを行います。
Microsoft OneLake からAzure SQL へのデータ同期には、ぜひCData Sync をご利用ください
このようにノーコードで簡単にMicrosoft OneLake のデータをAzure SQL にレプリケーションできます。データ分析、AI やノーコードツールからのデータ利用などさまざまな用途でCData Sync をご利用いただけます。30日の無償トライアルで、シンプルでパワフルなデータパイプラインを体感してください。
日本のユーザー向けにCData Sync は、UI の日本語化、ドキュメントの日本語化、日本語でのテクニカルサポートを提供しています。
CData Sync の 導入事例を併せてご覧ください。