CData Connect AI を使用して Databricks でリアルタイムの NetSuite データに接続・クエリ
Databricks は、データエンジニアリング、機械学習、アナリティクスを大規模に統合する AI クラウドネイティブプラットフォームです。 データウェアハウスのパフォーマンスとデータレイクの柔軟性を兼ね備えた強力なデータレイクハウスアーキテクチャを提供しています。 Databricks を CData Connect AI と統合すると、 複雑な ETL パイプラインやデータの複製を必要とせず、NetSuite のデータ にリアルタイムでアクセスでき、 運用の効率化とインサイトまでの時間短縮を実現できます。
この記事では、CData Connect AI を使用して Databricks から NetSuite へのセキュアなライブ接続を設定する方法を説明します。 設定が完了すると、標準 SQL を使用して Databricks ノートブックから直接NetSuite のデータにアクセスでき、 データエコシステム全体でリアルタイム分析を統合できます。
NetSuite データ連携について
CData は、Oracle NetSuite のライブデータにアクセスし、統合するための最も簡単な方法を提供します。お客様は CData の接続機能を以下の目的で使用しています:
- Standard、CRM、OneWorld を含む、すべてのエディションの NetSuite にアクセスできます。
- SuiteTalk API(SOAP ベース)のすべてのバージョンと、SQL のように機能し、より簡単なデータクエリと操作を可能にする SuiteQL に接続できます。
- Saved Searches のサポートにより、事前定義されたレポートとカスタムレポートにアクセスできます。
- トークンベースおよび OAuth 2.0 で安全に認証でき、あらゆるユースケースで互換性とセキュリティを確保します。
- SQL ストアドプロシージャを使用して、ファイルのアップロード・ダウンロード、レコードや関連付けのアタッチ・デタッチ、ロールの取得、追加のテーブルやカラム情報の取得、ジョブ結果の取得などの機能的なアクションを実行できます。
お客様は、Power BI や Excel などのお気に入りの分析ツールからライブ NetSuite データにアクセスするために CData ソリューションを使用しています。また、CData Sync を直接使用するか、Azure Data Factory などの他のアプリケーションとの CData の互換性を活用して、NetSuite データを包括的なデータベースやデータウェアハウスに統合しています。CData は、Oracle NetSuite のお客様が NetSuite からデータを取得し、NetSuite にデータをプッシュするアプリを簡単に作成できるよう支援し、他のソースからのデータを NetSuite と統合することを可能にしています。
当社の Oracle NetSuite ソリューションの詳細については、ブログをご覧ください:Drivers in Focus Part 2: Replicating and Consolidating ... NetSuite Accounting Data
はじめに
概要
シンプルなステップの概要は以下のとおりです:
- ステップ 1 - 接続と設定: CData Connect AI で NetSuite ソースへの接続を作成し、ユーザー権限を設定して、 Personal Access Token(PAT)を生成します。
- ステップ 2 - Databricks からクエリ: Databricks に CData JDBC ドライバーをインストールし、ノートブックに接続情報を設定して、 SQL クエリでリアルタイムのNetSuite のデータにアクセスします。
前提条件
始める前に、以下を準備してください:
- アクティブな NetSuite アカウント
- CData Connect AI アカウント。ログインまたは 無料トライアルにサインアップできます。
- Databricks アカウント。こちらからサインアップまたはログインできます。
ステップ 1:CData Connect AI で NetSuite 接続を設定
1.1 NetSuite への接続を追加
CData Connect AI は、利用可能なデータソースに接続するためのシンプルなポイント&クリックインターフェースを提供しています。
- Connect AI にログインし、左側の Sources をクリックして、 右上の Add Connection をクリック
- Add Connection パネルから 「NetSuite」 を選択
-
NetSuite に接続するために必要な認証プロパティを入力します。
NetSuiteへの接続
NetSuite では、2種類のAPI でデータにアクセスできます。どちらのAPI を使用するかは、Schema 接続プロパティで以下のいずれかを選択して指定してください。
- SuiteTalk は、NetSuite との通信に使用されるSOAP ベースの従来から提供されているサービスです。幅広いエンティティをサポートし、INSERT / UPDATE / DELETE の操作も対応しています。ただし、SuiteQL API と比べるとデータの取得速度が劣ります。また、サーバーサイドでのJOIN に対応していないため、これらの処理はCData 製品がクライアントサイドで実行します。
- SuiteQL は、より新しいAPI です。JOIN、GROUP BY、集計、カラムフィルタリングをサーバーサイドで処理できるため、SuiteTalk よりもはるかに高速にデータを取得できます。ただし、NetSuite データへのアクセスは読み取り専用となります。
データの取得のみが目的でしたらSuiteQL をお勧めします。データの取得と変更の両方が必要な場合は、SuiteTalk をお選びください。
NetSuite への認証
CData 製品では、以下の認証方式がご利用いただけます。
- トークンベース認証(TBA)はOAuth1.0に似た仕組みです。2020.2以降のSuiteTalk とSuiteQL の両方で利用できます。
- OAuth 2.0 認証(OAuth 2.0 認可コードグラントフロー)は、SuiteQL でのみご利用いただけます。
- OAuth JWT 認証は、OAuth2.0 クライアント認証フローの一つで、クライアント認証情報を含むJWT を使用してNetSuite データへのアクセスを要求します。
トークンベース認証(OAuth1.0)
トークンベース認証(TBA)は、基本的にOAuth 1.0 の仕組みです。この認証方式はSuiteTalk とSuiteQL の両方でサポートされています。管理者権限をお持ちの方がNetSuite UI 内でOAuthClientId、OAuthClientSecret、OAuthAccessToken、OAuthAccessTokenSecret を直接作成することで設定できます。 NetSuite UI でのトークン作成手順については、ヘルプドキュメントの「はじめに」セクションをご参照ください。
アクセストークンを作成したら、以下の接続プロパティを設定して接続してみましょう。
- AuthScheme = Token
- AccountId = 接続先のアカウント
- OAuthClientId = アプリケーション作成時に表示されるコンシューマーキー
- OAuthClientSecret = アプリケーション作成時に表示されるコンシューマーシークレット
- OAuthAccessToken = アクセストークン作成時のトークンID
- OAuthAccessTokenSecret = アクセストークン作成時のトークンシークレット
その他の認証方法については、ヘルプドキュメントの「はじめに」をご確認ください。
- 右上の Save & Test をクリック
-
NetSuite Connection ページで Permissions タブに移動し、
お好みに応じてユーザーベースの権限を更新します。
1.2 Personal Access Token(PAT)を生成
REST API、OData API、または仮想 SQL Server 経由で Connect AI に接続する場合、 Personal Access Token(PAT)が Connect AI への接続認証に使用されます。PAT は、セキュアなトークンベースの認証として ログイン認証情報の代わりに機能します。アクセスの粒度を維持するため、 サービスごとに個別の PAT を作成することをお勧めします。
- Connect AI アプリの右上にある歯車アイコン()をクリックして Settings ページを開く
- Settings ページで Access Tokens セクションに移動し、 Create PAT をクリック
-
PAT に名前を付けて Create をクリック
- 注意:Personal Access Token は作成時にのみ表示されるので、必ずコピーして安全な場所に保存してください。
ステップ 2:Databricks で NetSuite データに接続・クエリ
以下の手順に従って、Databricks から NetSuite への接続を確立します。 CData JDBC Driver for Connect AI をインストールし、JAR ファイルをクラスターに追加して、ノートブックを設定し、 SQL クエリでリアルタイムのNetSuite のデータにアクセスします。
2.1 CData JDBC Driver for Connect AI をインストール
- CData Connect AI で、左側の Integrations ページをクリック。 JDBC または Databricks を検索し、Download をクリックして、 お使いの OS 用のインストーラーを選択します。
-
ダウンロード後、インストーラーを実行して指示に従います:
- Windows の場合:セットアップファイルを実行し、インストールウィザードに従います。
- Mac/Linux の場合:アーカイブを解凍し、フォルダを /opt または /Applications に移動します。実行権限があることを確認してください。
-
インストール後、インストールディレクトリで JAR ファイルを見つけます:
- Windows:
C:\Program Files\CData\CData JDBC Driver for Connect AI\lib\cdata.jdbc.connect.jar
- Mac/Linux:
/Applications/CData/CData JDBC Driver for Connect AI/lib/cdata.jdbc.connect.jar
- Windows:
2.2 Databricks に JAR ファイルをインストール
-
Databricks にログイン。左側のナビゲーションペインで Compute をクリック。コンピュートクラスターを開始または作成します。
-
実行中のクラスターをクリックし、Libraries タブに移動して、右上の Install New をクリック。
-
Install Library ダイアログで DBFS を選択し、
cdata.jdbc.connect.jar ファイルをドラッグ&ドロップ。Install をクリック。
2.3 Databricks ノートブックで NetSuite データをクエリ
ノートブックスクリプト 1 - JDBC 接続を定義:
- 以下のスクリプトをノートブックセルに貼り付けます:
driver = "cdata.jdbc.connect.ConnectDriver" url = "jdbc:connect:AuthScheme=Basic;User=your_username;Password=your_pat;URL=https://cloud.cdata.com/api/;DefaultCatalog=Your_Connection_Name;"
- 以下を置き換えます:
- your_username - CData Connect AI のユーザー名
- your_pat - CData Connect AI の Personal Access Token(PAT)
- Your_Connection_Name - Sources ページの Connect AI データソース名
- スクリプトを実行します。
ノートブックスクリプト 2 -NetSuite のデータから DataFrame を読み込み:
- 2 番目のスクリプト用に新しいセルを追加します。ノートブック右側のメニューから Add cell below をクリック。
- 以下のスクリプトを新しいセルに貼り付けます:
remote_table = spark.read.format("jdbc") \
.option("driver", "cdata.jdbc.connect.ConnectDriver") \
.option("url", "jdbc:connect:AuthScheme=Basic;User=your_username;Password=your_pat;URL=https://cloud.cdata.com/api/;DefaultCatalog=Your_Connection_Name;") \
.option("dbtable", "YOUR_SCHEMA.YOUR_TABLE") \
.load()
- 以下を置き換えます:
- your_username - CData Connect AI のユーザー名
- your_pat - CData Connect AI の Personal Access Token(PAT)
- Your_Connection_Name - Sources ページの Connect AI データソース名
- YOUR_SCHEMA.YOUR_TABLE - スキーマとテーブル名(例:NetSuite.SalesOrder)
- スクリプトを実行します。
ノートブックスクリプト 3 - カラムをプレビュー:
- 同様に、3 番目のスクリプト用に新しいセルを追加します。
- 以下のスクリプトを新しいセルに貼り付けます:
display(remote_table.select("ColumnName1", "ColumnName2"))
- ColumnName1 と ColumnName2 を NetSuite 構造の実際のカラム名に置き換えます(例:CustomerName、SalesOrderTotal など)。
- スクリプトを実行します。
これで、バックエンド API の複雑さを意識することなく、またNetSuite のデータをレプリケーションすることなく、 Databricks ノートブック内で直接リアルタイムの NetSuite のデータ を探索、結合、分析できるようになりました。
CData Connect AI を 14 日間無料でお試しください
NetSuite のデータへのリアルタイムアクセスを簡素化する準備はできましたか? CData Connect AI の 14 日間無料トライアルを今すぐ開始して、 Databricks から NetSuite へのシームレスなライブ接続を体験してください。
ローコード、インフラ不要、レプリケーション不要 - 重要なデータとインサイトへの シームレスでセキュアなアクセスを実現します。