Databricks(AWS)でSalesforce Data Cloud のデータを処理・分析

Jerod Johnson
Jerod Johnson
Senior Technology Evangelist
CData、AWS、Databricks を使用して、リアルタイムSalesforce Data Cloud のデータに対してデータエンジニアリングとデータサイエンスを実行。

Databricks は、Apache Spark を通じたデータ処理機能を提供するクラウドベースのサービスです。CData JDBC Driver と組み合わせることで、Databricks を使用してリアルタイムSalesforce Data Cloud のデータに対してデータエンジニアリングとデータサイエンスを実行できます。この記事では、AWS でCData JDBC Driver をホストし、Databricks でリアルタイムSalesforce Data Cloud のデータに接続して処理する方法を説明します。

最適化されたデータ処理が組み込まれたCData JDBC Driver は、リアルタイムSalesforce Data Cloud のデータを扱う上で比類のないパフォーマンスを提供します。Salesforce Data Cloud に複雑なSQL クエリを発行すると、ドライバーはフィルタや集計などのサポートされているSQL 操作をSalesforce Data Cloud に直接プッシュし、サポートされていない操作(主にSQL 関数やJOIN 操作)は組み込みSQL エンジンを利用してクライアント側で処理します。組み込みの動的メタデータクエリを使用すると、ネイティブデータ型を使ってSalesforce Data Cloud のデータを操作・分析できます。

CData JDBC Driver をDatabricks にインストール

Databricks でリアルタイムSalesforce Data Cloud のデータを操作するには、Databricks クラスターにドライバーをインストールします。

  1. Databricks の管理画面に移動し、対象のクラスターを選択します。
  2. Libraries タブで「Install New」をクリックします。
  3. Library Source として「Upload」を選択し、Library Type として「Jar」を選択します。
  4. インストール場所(通常はC:\Program Files\CData[product_name]\lib)からJDBC JAR ファイル(cdata.jdbc.salesforcedatacloud.jar)をアップロードします。

ノートブックでSalesforce Data Cloud のデータにアクセス:Python

JAR ファイルをインストールしたら、Databricks でリアルタイムSalesforce Data Cloud のデータを操作する準備が整いました。ワークスペースに新しいノートブックを作成します。ノートブックに名前を付け、言語としてPython を選択し(Scala も利用可能)、JDBC ドライバーをインストールしたクラスターを選択します。ノートブックが起動したら、接続を設定し、Salesforce Data Cloud をクエリして、基本的なレポートを作成できます。

Salesforce Data Cloud への接続を設定

JDBC Driver クラスを参照し、JDBC URL で使用する接続文字列を構築してSalesforce Data Cloud に接続します。また、JDBC URL でRTK プロパティを設定する必要があります(Beta ドライバーを使用している場合を除く)。このプロパティの設定方法については、インストールに含まれるライセンスファイルを参照してください。

ステップ1:接続情報

driver = "cdata.jdbc.salesforcedatacloud.SalesforceDataCloudDriver"
url = "jdbc:salesforcedatacloud:RTK=5246...;"

組み込みの接続文字列デザイナー

JDBC URL の作成をサポートするために、Salesforce Data Cloud JDBC Driver に組み込まれている接続文字列デザイナーが使用できます。JAR ファイルをダブルクリックするか、コマンドラインからJAR ファイルを実行します。

java -jar cdata.jdbc.salesforcedatacloud.jar

接続プロパティを入力し、接続文字列をクリップボードにコピーします。

それでは、Salesforce Data Cloud への認証方法を設定していきましょう。Salesforce Data Cloud では、OAuth 標準による認証をサポートしています。

OAuth 認証

AuthSchemeOAuth に設定してください。

デスクトップアプリケーション

CData 製品では、デスクトップでの認証を簡略化する埋め込みOAuth アプリケーションを提供しています。

また、Salesforce Data Cloud コンソールで設定および登録するカスタムOAuth アプリケーションを介してデスクトップから認証することも可能です。詳しくは、ヘルプドキュメントカスタムOAuth アプリの作成をご確認ください。

接続する前に、以下のプロパティを設定してください。

  • InitiateOAuthGETANDREFRESHInitiateOAuth を使用すれば、繰り返しOAuth の交換を行ったり、手動でOAuthAccessToken を設定する必要がなくなります
  • OAuthClientId(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントID
  • OAuthClientSecret(カスタムアプリケーションのみ):カスタムOAuth アプリケーションの登録時に割り当てられたクライアントシークレット

接続すると、CData 製品がデフォルトブラウザでSalesforce Data Cloud のOAuth エンドポイントを開きます。ログインして、アプリケーションにアクセス許可を与えてください。

以下のようにドライバーがOAuth プロセスを完了します。

  • コールバックURL からアクセストークンを取得します
  • 古いトークンの期限が切れた際は、新しいアクセストークンを取得します
  • OAuthSettingsLocation にOAuth 値を保存し、接続間で永続化します

Web アプリケーションやヘッドレスマシンを含むその他のOAuth 認証方法については、ヘルプドキュメントをご確認ください。

Salesforce Data Cloud のデータをロード

接続を設定したら、CData JDBC Driver と接続情報を使用して、Salesforce Data Cloud のデータをDataFrame としてロードできます。

ステップ2:データの読み取り

remote_table = spark.read.format ( "jdbc" ) \
	.option ( "driver" , driver) \
	.option ( "url" , url) \
	.option ( "dbtable" , "Account") \
	.load ()

Salesforce Data Cloud のデータを表示

ロードしたSalesforce Data Cloud のデータをdisplay 関数を呼び出して確認します。

ステップ3:結果の確認

display (remote_table.select ("[Account ID]"))

Databricks でSalesforce Data Cloud のデータを分析

Databricks SparkSQL でデータを処理するには、ロードしたデータをTemp View として登録します。

ステップ4:ビューまたはテーブルを作成

remote_table.createOrReplaceTempView ( "SAMPLE_VIEW" )

Temp View を作成したら、SparkSQL を使用してSalesforce Data Cloud のデータをレポート、ビジュアライゼーション、分析用に取得できます。

% sql

SELECT [Account ID], [Account Name] FROM SAMPLE_VIEW ORDER BY [Account Name] DESC LIMIT 5

Salesforce Data Cloud からのデータは、対象のノートブックでのみ利用可能です。他のユーザーと共有したい場合は、テーブルとして保存します。

remote_table.write.format ( "parquet" ) .saveAsTable ( "SAMPLE_TABLE" )

CData JDBC Driver for Salesforce Data Cloud の30日間無償トライアルをダウンロードして、Databricks でリアルタイムSalesforce Data Cloud のデータの操作をはじめましょう。ご不明な点があれば、サポートチームにお問い合わせください。

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

Salesforce Data Cloud Driver の無料トライアルをダウンロードしてお試しください:

 ダウンロード

詳細:

Salesforce Data Cloud Icon Salesforce Data Cloud JDBC Driver お問い合わせ

Salesforce Data Cloud データと連携するパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。