CData Connect AI を使用して Databricks でリアルタイムの Amazon S3 データに接続・クエリ
Databricks は、データエンジニアリング、機械学習、アナリティクスを大規模に統合する AI クラウドネイティブプラットフォームです。 データウェアハウスのパフォーマンスとデータレイクの柔軟性を兼ね備えた強力なデータレイクハウスアーキテクチャを提供しています。 Databricks を CData Connect AI と統合すると、 複雑な ETL パイプラインやデータの複製を必要とせず、Amazon S3 のデータ にリアルタイムでアクセスでき、 運用の効率化とインサイトまでの時間短縮を実現できます。
この記事では、CData Connect AI を使用して Databricks から Amazon S3 へのセキュアなライブ接続を設定する方法を説明します。 設定が完了すると、標準 SQL を使用して Databricks ノートブックから直接Amazon S3 のデータにアクセスでき、 データエコシステム全体でリアルタイム分析を統合できます。
概要
シンプルなステップの概要は以下のとおりです:
- ステップ 1 - 接続と設定: CData Connect AI で Amazon S3 ソースへの接続を作成し、ユーザー権限を設定して、 Personal Access Token(PAT)を生成します。
- ステップ 2 - Databricks からクエリ: Databricks に CData JDBC ドライバーをインストールし、ノートブックに接続情報を設定して、 SQL クエリでリアルタイムのAmazon S3 のデータにアクセスします。
前提条件
始める前に、以下を準備してください:
- アクティブな Amazon S3 アカウント
- CData Connect AI アカウント。ログインまたは 無料トライアルにサインアップできます。
- Databricks アカウント。こちらからサインアップまたはログインできます。
ステップ 1:CData Connect AI で Amazon S3 接続を設定
1.1 Amazon S3 への接続を追加
CData Connect AI は、利用可能なデータソースに接続するためのシンプルなポイント&クリックインターフェースを提供しています。
- Connect AI にログインし、左側の Sources をクリックして、 右上の Add Connection をクリック
- Add Connection パネルから 「Amazon S3」 を選択
-
Amazon S3 に接続するために必要な認証プロパティを入力します。
Amazon S3 リクエストを認可するには、管理者アカウントまたはカスタム権限を持つIAM ユーザーの認証情報を入力します。AccessKey をアクセスキーID に設定します。SecretKey をシークレットアクセスキーに設定します。
Note: AWS アカウント管理者として接続できますが、AWS サービスにアクセスするにはIAM ユーザー認証情報を使用することをお勧めします。
尚、CData 製品はAmazon S3 のファイルの一覧表示やユーザー管理情報の取得用です。S3 に保管されているExcel、CSV、JSON などのファイル内のデータを読み込みたい場合には、Excel Driver、CSV Driver、JSON Driver をご利用ください。
アクセスキーの取得
IAM ユーザーの資格情報を取得するには:
- IAM コンソールにサインインします。
- ナビゲーションペインで「ユーザー」を選択します。
- ユーザーのアクセスキーを作成または管理するには、ユーザーを選択してから「セキュリティ認証情報」タブを選択します。
AWS ルートアカウントの資格情報を取得するには:
- ルートアカウントの資格情報を使用してAWS 管理コンソールにサインインします。
- アカウント名または番号を選択し、表示されたメニューで「My Security Credentials」を選択します。
- 「Continue to Security Credentials」をクリックし、「Access Keys」セクションを展開して、ルートアカウントのアクセスキーを管理または作成します。
AWS ロールとして認証
多くの場合、認証にはAWS ルートユーザーのダイレクトなセキュリティ認証情報ではなく、IAM ロールを使用することをお勧めします。RoleARN を指定することでAWS ロールを代わりに使用できます。これにより、CData 製品は指定されたロールの資格情報を取得しようと試みます。
(すでにEC2 インスタンスなどで接続されているのではなく)AWS に接続している場合は、ロールを引き受けるIAM ユーザーのAccessKey とSecretKey を追加で指定する必要があります。AWS ルートユーザーのAccessKey および SecretKey を指定する場合、ロールは使用できません。
SSO 認証
SSO 認証を必要とするユーザーおよびロールには、RoleARN およびPrincipalArn 接続プロパティを指定してください。各Identity Provider に固有のSSOProperties を指定し、AccessKey とSecretKey を空のままにする必要があります。これにより、CData 製品は一時的な認証資格情報を取得するために、リクエストでSSO 認証情報を送信します。
- 右上の Save & Test をクリック
-
Amazon S3 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 で Amazon S3 データに接続・クエリ
以下の手順に従って、Databricks から Amazon S3 への接続を確立します。 CData JDBC Driver for Connect AI をインストールし、JAR ファイルをクラスターに追加して、ノートブックを設定し、 SQL クエリでリアルタイムのAmazon S3 のデータにアクセスします。
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 ノートブックで Amazon S3 データをクエリ
ノートブックスクリプト 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 -Amazon S3 のデータから 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 - スキーマとテーブル名(例:AmazonS3.ObjectsACL)
- スクリプトを実行します。
ノートブックスクリプト 3 - カラムをプレビュー:
- 同様に、3 番目のスクリプト用に新しいセルを追加します。
- 以下のスクリプトを新しいセルに貼り付けます:
display(remote_table.select("ColumnName1", "ColumnName2"))
- ColumnName1 と ColumnName2 を Amazon S3 構造の実際のカラム名に置き換えます(例:Name、OwnerId など)。
- スクリプトを実行します。
これで、バックエンド API の複雑さを意識することなく、またAmazon S3 のデータをレプリケーションすることなく、 Databricks ノートブック内で直接リアルタイムの Amazon S3 のデータ を探索、結合、分析できるようになりました。
CData Connect AI を 14 日間無料でお試しください
Amazon S3 のデータへのリアルタイムアクセスを簡素化する準備はできましたか? CData Connect AI の 14 日間無料トライアルを今すぐ開始して、 Databricks から Amazon S3 へのシームレスなライブ接続を体験してください。
ローコード、インフラ不要、レプリケーション不要 - 重要なデータとインサイトへの シームレスでセキュアなアクセスを実現します。