Salesforce データをDatabricks にロードして分析処理を行う方法:CData JDBC Driver

詳細情報をご希望ですか?

無償トライアル:

ダウンロードへ

製品の詳細情報へ:

Salesforce JDBC Driver

潜在顧客、連絡先、営業案件、アカウントなどのSalesforce.com アカウントデータを組み込んだパワフルなJava アプリケーションを短時間・低コストで作成して配布できます。



CData JDBC Driver for Salesforce を使って、クラウドデータ処理基盤のDatabricks で Salesforce data を分析処理。

Databricks https://databricks.com/は オープンソースの ビッグデータ処理基盤である Apache Spark をクラウドベースで提供しているサービスです。

通常 Databricks では、Azure Blob Storage や Data Lakeに存在しているCSV、JSON、Parquetなどのバイナリベースの構造データ、ないしSQL ServerやCosmos DBといったRDB・NoSQLサービスからデータを取り込んで、分析するというアプローチが多いかと思います。 しかしながら、今や分析対象となるデータソースはそういったバイナリデータやRDB・NoSQLのdataにとどまらず、SalesforceやDynamics 365といったクラウドサービス上にも数多く存在しています。そこで CData JDBC Driverを活用することにより、Databricks から シームレスにクラウドサービスのデータソースをロード、分析できるようになります。
この記事では、クラウドサービスのビッグデータ処理サービスである Databricks で CData JDBC Driverを利用してSalesforce データを扱う方法を紹介します。


※製品について詳しい情報をご希望の方は以下からお進みください。

Databricks に JDBC Driver for Salesforceをインストールする

  • Databricks の管理画面に移動し、対象のクラスターを選択します。
  • 「Libraries」タブから「Install New」をクリックします。ここから接続に必要なJDBC jarファイルをアップロードします。
  • CData JDBC Driver のインストールディレクトリ(デフォルト:C:\Program Files\CData\CData JDBC Driver for Salesforce 2019J\lib)に配置されている「cdata.jdbc.salesforce.jar」ファイルをドラッグ・アンド・ドロップして、対象のクラスターにインストールします。

これでドライバーの配置などの準備は完了です。

Notebook で Salesforce data データにアクセスする:Python

  • それでは Notebook を立ち上げて、Salesforce data データにアクセスしましょう。 今回は Python を使いますが、Scalaでも同様に実行可能です。
  • LangauageはPythonを選択し、先程JDBCをインストールしたクラスターを選択します。
  • Notebook が立ち上がったら、以下のコードをそれぞれ実行していきます。
  • 最初に接続情報を定義します。 URLはSalesforce data のログイン情報とセキュリティトークンを指定します。CData JDBC Driver用の特殊ライセンスをRTKとして指定します。RTK の入手方法については、CData サポートまでご連絡ください。
  • # Step 1: Connection Information driver = "cdata.jdbc.salesforce.SalesforceDriver" url = "jdbc:salesforce:User=username;Password=password;SecurityToken=Your_Security_Token;" table = "account"
  • 次に先程の接続情報をもとに、CData JDBC Driver経由でSalesforce data のデータをデータフレームとして読み込みます。
  • # Step 2: Reading the data remote_table = spark.read.format("jdbc")\ .option("driver", driver)\ .option("url", url)\ .option("dbtable", table)\ .load()
  • 読み込んだ結果は以下のコマンドで確認できます。これでDatabricks上でSalesforce data のデータを扱えるようになりました。
  • # Step 3: Querying the data display(remote_table.select("name"))
  • Databricks の SparkSQLでデータを処理したい場合は、Temp Viewとして登録します。
  • # Step 4: (Optional) Create a view or table remote_table.createOrReplaceTempView("SAMPLE_VIEW")
  • 以下のように SparkSQLでデータを取得し、分析することができます。
  • %sql SELECT Name,AnnualRevenue FROM SAMPLE_VIEW Order by AnnualRevenue desc limit 5

なお、データフレームは対象のNotebook内だけのデータなので、他のユーザーと一緒に利用する場合はテーブルとして保存しておきましょう。

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

このようにCData JDBC Driver をアップロードすることで、簡単にDatabricks でSalesforce data データをノーコードで連携し、分析に使うことが可能です。

是非、CData JDBC Driver for Salesforce 30日の無償試用版 をダウンロードして、お試しください。