メインコンテンツまでスキップ

Databricks

Squid は Databricks SQL warehouse に接続し、Squid アプリケーションのデータソースとして利用できます。

Databricks connector を使用すると、Squid Client SDK 経由で Databricks catalog 内のテーブルをクエリしたり、native SQL queries を実行したり、AI agents が lakehouse data を使用して質問に回答できるようにしたりできます。

注記

Databricks connector は read-only です。native SQL および AI queries を含むクエリはサポートされていますが、insert、update、delete はサポートされていません。

Databricks 側の前提条件

  • 実行中の SQL warehouse。その HTTP path が必要です(warehouse の Connection details にあり、形式は /sql/1.0/warehouses/<warehouse-id> です)。
  • 認証用の personal access token
  • token の user には、公開したいテーブルに対する SELECT に加えて、Squid が schema discovery に使用する system.information_schema views(tablescolumnstable_constraintsconstraint_column_usage)への read access が必要です。

Databricks connector の追加

  1. Squid Console を開き、Databricks で使用するアプリケーションを選択します。
  2. Connectors タブをクリックし、次に Available connectors をクリックします。
  3. Databricks connector を選択します。
  4. 次の configuration information を入力します。
  • Connector ID - 簡潔で connector を識別しやすい ID を選択します。
  • Database Host - workspace host。例: dbc-yourId.cloud.databricks.com
  • Database Access Token - personal access token。非公開に保つため、Squid Secrets に保存します。
  • Warehouse Path - SQL warehouse の HTTP path。例: /sql/1.0/warehouses/warehouse-id-here
  • Catalog - 接続先の catalog。
  • Catalog Schemas - 公開する catalog 内の schemas の comma-separated list。
  • Tables to Process - 任意。schema discovery に含める tables の comma-separated list。regex pattern を指定するには forward slashes を使用します(例: /^temp_.*/)。すべての tables を含める場合は空のままにします。

データのクエリ

Collections は schema.table という名前になります。他の Squid collection と同じ方法で、connector ID を渡して Client SDK からクエリします。

Client code
const orders = await squid
.collection<Order>('sales.orders', 'YOUR_DATABRICKS_CONNECTOR_ID')
.query()
.gte('total', 1000)
.snapshot();

native SQL queries を実行することもできます。

Client code
const result = await squid.executeNativeRelationalQuery(
'YOUR_DATABRICKS_CONNECTOR_ID',
'SELECT region, SUM(total) AS revenue FROM sales.orders GROUP BY region',
);

Native および AI-generated queries は、実行前に read-only であることが検証されます。

データベースの保護

デフォルトでは security rules が必要です。本番環境では、security rules なしで connector へのアクセスを許可しないことが不可欠です。database data の保護について詳しくは、security rules documentation を参照してください。

Squid でデータを扱う方法については、Client SDK documentation を参照してください。