CData SSIS Components を使用して Dynamics 365 のデータを Databricks にマイグレーション

Cameron Leblanc
Cameron Leblanc
Technology Evangelist
CData SSIS Tasks for Dynamics 365 と Databricks を使用して、Dynamics 365 のデータを Databricks に簡単にプッシュできます。

Databricks は、大量のデータを簡単に処理、分析、可視化できる統合データ分析プラットフォームです。データエンジニアリング、データサイエンス、機械学習の機能を単一のプラットフォームに統合し、チームがコラボレーションしてデータからインサイトを得ることを容易にします。

CData SSIS Components は、SQL Server Integration Services を拡張し、さまざまなソースやデスティネーションからデータを簡単にインポート・エクスポートできるようにします。

この記事では、Databricks へのエクスポート時のデータ型マッピングの考慮事項を確認し、CData SSIS Components for Dynamics 365 と Databricks を使用してDynamics 365 のデータを Databricks にマイグレーションする方法を説明します。

データ型マッピング

Databricks スキーマ CData スキーマ

int, integer, int32

int

smallint, short, int16

smallint

double, float, real

float

date

date

datetime, timestamp

datetime

time, timespan

time

string, varchar

長さ > 4000 の場合:nvarchar(max)、それ以外:nvarchar(length)

long, int64, bigint

bigint

boolean, bool

tinyint

decimal, numeric

decimal

uuid

nvarchar(length)

binary, varbinary, longvarbinary

binary(1000) または SQL Server 2000 以降は varbinary(max)


特別な考慮事項

  • String/VARCHAR: Databricks の String カラムは、カラムの長さによって異なるデータ型にマッピングされます。カラムの長さが 4000 を超える場合、カラムは nvarchar(max) にマッピングされます。それ以外の場合は、nvarchar(length) にマッピングされます。
  • DECIMAL: Databricks は最大 38 桁の精度の DECIMAL 型をサポートしていますが、それを超えるソースカラムはロードエラーを引き起こす可能性があります。

Dynamics 365 データ連携について

CData は、Microsoft Dynamics 365 のライブデータへのアクセスと統合を簡素化します。お客様は CData の接続機能を以下の目的で活用しています:

  • Sales、Customer Service、Finance & Operations、Marketing など、Dynamics 365 エコシステム全体のデータの読み取りと書き込みができます。
  • カスタマイズ可能なキャッシュと、インテリジェントなクエリ集約・分離により、Dynamics CRM のネイティブ機能を拡張できます。
  • Azure Active Directory、Azure マネージド サービス ID 認証情報、クライアントシークレットまたは証明書を使用した Azure サービスプリンシパルなど、さまざまな方法で Dynamics 365 に安全に認証できます。
  • SQL ストアドプロシージャを使用して、Dynamics 365 エンティティを管理できます。エンティティ間の関連付けの一覧表示、作成、削除などが可能です。

CData のお客様は、データをデータウェアハウスにレプリケートしたい場合(他のデータソースと併せて)や、Microsoft エコシステム内のお気に入りのデータツール(Power BI、Excel など)または外部ツール(Tableau、Looker など)からライブ Dynamics 365 データを分析したい場合など、さまざまな理由で当社の Dynamics 365 接続ソリューションを使用しています。


はじめに


前提条件

プロジェクトの作成とコンポーネントの追加

  1. Visual Studio を開き、新しい Integration Services プロジェクトを作成します。
  2. Control Flow 画面に新しい Data Flow Task を追加し、Data Flow Task を開きます。
  3. Data Flow Task に CData Dynamics 365 Source コントロールと CData Databricks Destination コントロールを追加します。

Dynamics 365 ソースの設定

以下の手順に従って、Dynamics 365 への接続に必要なプロパティを指定します。

  1. CData Dynamics 365 Source をダブルクリックしてソースコンポーネントエディタを開き、新しい接続を追加します。
  2. CData Dynamics 365 Connection Manager で接続プロパティを設定し、接続をテストして保存します。

    Dynamics 365 接続プロパティの取得・設定方法

    Microsoft Dynamics 365 への接続

    Microsoft Dynamics 365 ドライバーは、以下のMicrosoft Dynamics 365 エディションへの接続をサポートしています。

    • CustomerService
    • FieldService
    • FinOpsOnline (デフォルト)
    • FinOpsOnPremise
    • HumanResources
    • Marketing
    • ProjectOperations
    • Sales

    Notes:

    • Supply Chain Management はFinance and Operations と同一です。これらのいずれかに接続するには、EditionFinOpsOnline またはFinOpsOnPremise のいずれかに設定します。
    • Microsoft Dynamics 365 Business Central については、個別のMicrosoft Dynamics 365 Business Central ドライバーを使用してください。
    サポートされているMicrosoft Dynamics 365 エディションのいずれか接続するには、次のパラメータを設定します。
    • OrganizationURL:お使いのMicrosoft Dynamics 365 組織のURL。例えば、https://orgcb42e1d0.crm.dynamics.com
    • Edition:上記のエディション一覧に示すとおり。

    Microsoft Dynamics 365 への認証

    Microsoft Dynamics 365 は、Microsoft Entra ID(Azure AD)、Azure サービスプリンシパル、Azure マネージドID(MSI)を経由する認証をサポートします。これらはすべてOAuth 規格に基づきます。 認証方法の詳細は、ヘルプドキュメントを参照してください。

  3. 接続を保存後、「Table or view」を選択し、Databricks にエクスポートするテーブルまたはビューを選択して、CData Dynamics 365 Source Editor を閉じます。

Databricks デスティネーションの設定

Dynamics 365 Source を設定したら、Databricks 接続を設定してカラムをマッピングします。

  1. CData Databricks Destination をダブルクリックしてデスティネーションコンポーネントエディタを開き、新しい接続を追加します。
  2. CData Databricks Connection Manager で接続プロパティを設定し、接続をテストして保存します。Databricks クラスターに接続するには、以下のようにプロパティを設定します。

    注意:必要な値は、Databricks インスタンスで Clusters に移動し、目的のクラスターを選択して、Advanced Options の下にある JDBC/ODBC タブを選択することで確認できます。

    • Server:Databricks クラスターの Server Hostname を設定します。
    • HTTPPath:Databricks クラスターの HTTP Path を設定します。
    • Token:個人用アクセストークンを設定します(この値は、Databricks インスタンスの User Settings ページに移動し、Access Tokens タブを選択することで取得できます)。

    その他の便利な接続プロパティ

    • QueryPassthrough: True に設定すると、クエリは Databricks に直接渡されます。
    • ConvertDateTimetoGMT: True に設定すると、コンポーネントはローカルマシンの時刻ではなく、日時値を GMT に変換します。
    • UseUploadApi: このプロパティを true に設定すると、Bulk INSERT 操作で大量のデータがある場合にパフォーマンスが向上します。
    • UseCloudFetch: このオプションは、テーブルに 100 万件を超えるエントリがある場合にクエリ効率を向上させるために CloudFetch を使用するかどうかを指定します。
  3. 接続を保存後、Use a Table メニューでテーブルを選択し、Action メニューで Insert を選択します。
  4. Column Mappings タブで、入力カラムからデスティネーションカラムへのマッピングを設定します。

プロジェクトの実行

これでプロジェクトを実行できます。SSIS Task の実行が完了すると、SQL テーブルのデータが選択したテーブルにエクスポートされます。

はじめる準備はできましたか?

Dynamics 365 SSIS Component の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Dynamics 365 Icon Dynamics 365 SSIS Components お問い合わせ

パワフルなSSIS Source & Destination Components で、SQL Server とDynamics 365 データをSSIS ワークフローで連携。:Dynamics 365 Data Flow Components を使って、多様なデータを簡単に同期。データ同期、ローカルバックアップ、ワークフロー自動化に最適!