Databricks Excel アドインを使用してデータをインポートおよびクエリする
プレビュー
この機能は パブリック プレビュー段階です。
Databricks Excelアドインは、 DatabricksワークスペースをMicrosoft Excelに接続し、管理されたレイクハウス データをスプレッドシートに直接取り込み、データから意思決定までより迅速に移行できるようにします。
このページでは、Databricks Excel アドインを使用して Excel で Databricks からデータをインポートおよび分析する方法について説明します。SQL の知識がなくても、直感的なインターフェースを通じて Databricks テーブルを参照およびインポートできます。アドインはカスタム SQL クエリを実行する柔軟性を提供しますが、これはオプションです。
前提条件
Excel アドインを使用する前に、それが設定されていることを確認してください。
SQLウェアハウスを選択
使用するSQLウェアハウスを選択します。
- Excel の Databricks アドイン ウィンドウの右上にあるドロップダウン メニューをクリックします。
- 使用するSQLウェアハウスを選択します。
Databricksからデータをインポートする
テーブルを選択するか、SQL クエリを記述するか、ピボット テーブルをインポートして、Excel で Databricks からデータをインポートします。
ピボット テーブル、 SQLクエリ、カスタム関数を使用して、 Unity Catalogメトリクス ビューをインポートできます。
ピボットテーブルを作成する
Excel の Unity Catalog テーブルとビューからピボット テーブルを作成するには:
-
Databricks Excel アドイン ペインの [ 新しいインポート] タブで、 インポート方法 として [データの選択] を選択します。
-
[カタログ] の下で、ピボット テーブルを作成するテーブルを選択し、 [選択] をクリックします。
-
ピボットデータ チェックボックスを選択します。
-
必要に応じて、 行 、 列 、 値 、 フィルター を構成します。
-
(オプション) インポートのサンプルを表示するには、 [プレビュー] をクリックします。
-
(オプション) インポートの行数制限を設定します。
-
[結果のインポート] をクリックします。
ピボット テーブルは新しいシートにのみインポートできます。
ピボット テーブルでUnity Catalog操作すると、結果にSum(measure)が表示される場合があります。 これは想定された動作であり、追加の集約は発生しません。Excel では値に集計関数が必要ですが、データには一意の値が含まれているため、集計は行われません。
テーブルを選択
データは Excel テーブル オブジェクトとしてインポートされます。テーブルを移動したり、シートの名前を変更したりすると、Excel アドインによって新しい場所のデータが更新されます。
Databricks テーブルからデータをインポートするには、次の手順を実行します。
- Databricks Excel アドイン ペインの [ 新しいインポート] タブで、 インポート方法 として [データの選択] を選択します。
- カタログ エクスプローラーからインポートするテーブルを選択します。カタログを所有者、認証ステータス、その他のプロパティでフィルタリングするには、
フィルター。
- [選択] をクリックします。
- [列] の下で、キャレットをクリックしてインポートしない列の選択を解除するか、すべての列を選択したままにしてテーブル全体をインポートします。
- (オプション) フィルターを設定するには、 [フィルター] の横にある + を クリックし、フィルターを適用する列を選択して、フィルター条件を入力します。
- (オプション) インポートのサンプルを表示するには、 [プレビュー] をクリックします。
- (オプション) 行制限を設定して、インポートされる行数を制限できます。
- (オプション) インポートしたデータを簡単に識別できるように、 インポート名 を入力できます。
- [出力先] で、データを新しいシートにインポートするか、現在のシートにインポートするかを選択します。現在のシートにインポートする場合、データは選択したセルから始まります。
- [結果のインポート] をクリックします。
SQLクエリを書く
書き込み SQL インポート方法は、SQL 関数とストアド プロシージャをサポートします。
Databricks ワークスペースに対してカスタム SQL クエリを実行するには、次の手順を実行します。
-
Databricks Excel アドイン ペインの [ 新しいインポート] タブで、 インポート方法 として [SQL の書き込み] を選択します。
-
後で識別できるようにクエリの名前を入力します。
-
新しいクエリを記述するか、Databricks ワークスペースから既存のクエリを使用します。
-
エディターで SQL クエリを記述します。アクセス権を持つUnity Catalog内の任意のテーブルをクエリできます。
- クリック
スキーマとテーブルを表示するためのカタログ エクスプローラー。
- クリック
-
DatabricksワークスペースのクエリまたはExcelの既存のクエリを使用するには、
フォルダ。 Databricks ワークスペースから既存のクエリを使用する場合、Excel で行われた編集は Databricks に反映されません。
-
-
(オプション) クエリを追加するには、「問題」 の 横にある 「+追加」 をクリックします。 「問題」をクリックして、 「問題名」 と 「問題値」 を指定します。
-
[出力先] で、データを新しいシートにインポートするか、現在のシートにインポートするかを選択します。現在のシートにインポートする場合、データは選択したセルから始まります。
-
クエリ結果をプレビューするには、 [実行] をクリックします。
-
[結果のインポート] をクリックします。
カスタム関数を使用してクエリを追加することもできます。 「SQL の記述」を参照してください。
Excelでカスタム関数を使用する
Excel アドインには、Excel の数式で使用して Databricks からデータをインポートできるカスタム関数が用意されています。
テーブルを選択
DATABRICKS.Table関数はUnity Catalogテーブルからデータをインポートします。
構文:
=DATABRICKS.Table(catalog_name.schema_name.table_name, [column1, ...], [limit])
パラメーター:
catalog_name.schema_name.table_name(必須): 完全修飾テーブル名。columns(オプション): インポートする列名の配列。すべての列をインポートするには、この問題を省略します。limit(オプション): インポートする行の最大数。10 MB の制限までのすべての行をインポートするには、この問題を省略します。
例:
=DATABRICKS.Table("main.default.customers", {"customer_id", "customer_name"}, 100)
この数式は、 main.default.customersテーブルからcustomer_id列とcustomer_name列を 100 行までに制限してインポートします。
SQLを書く
DATABRICKS.SQL関数は、クエリを使用するSQLクエリを実行し、結果を返します。
構文:
値を使用して、問題を指定します。
=DATABRICKS.SQL("query_text", {parameter1_name, parameter1_value; ...})
問題はセル範囲を使用して指定します。 名前と値は、同じ行にあるセルに定義する必要があります。
=DATABRICKS.SQL("query_text", {param_name_cell: param_value_cell; ...})
パラメーター:
query_text(必須): 実行する SQL クエリ。parameters(必須): クエリに代入する問題値のマッピング。
例:
=DATABRICKS.SQL("SELECT * FROM samples.bakehouse.sales_suppliers WHERE longitude > :long_param AND latitude > :lat_param LIMIT 10", {"long_param",20; "lat_param",10})
=DATABRICKS.SQL("SELECT * FROM samples.bakehouse.sales_suppliers WHERE city = :city", M4:N4)
この数式は、指定された分散値を使用して、売上データをlongitudeとlatitudeでフィルタリングするクエリを実行します。
クエリを管理する
「インポート」ページから既存のインポートを管理します。
既存のインポートを編集する
既存のインポートを編集するには:
- Excel の Databricks アドイン ウィンドウで、 [インポート] タブをクリックします。
- 編集するインポートを見つけます。
- インポートの横にある 3 つのドットのメニューをクリックします。
- インポートを編集するには、 「編集」 をクリックします。
データを更新
Excel アドインはインポートされたデータを自動的に更新しません。Databricks の最新の値でデータを更新するには:
-
単一のインポートを更新するには、次の手順を実行します。
- Excel の Databricks アドイン ウィンドウで、 [インポート] タブをクリックします。
- クリック
更新したいインポートの横にある [更新] をクリックします。
-
すべてのインポートを更新するには、次の手順を実行します。
- Databricks アドイン ペインで [すべて更新] をクリックします。
アドインは元のクエリまたはテーブル選択を再度実行し、ワークシートを最新のデータで更新します。
データを更新すると、Excel アドインは指定されたテーブル内の既存のデータをすべてクリアし、Databricks から最新のデータを再読み込みします。テーブルに追加したカスタム列は、更新プロセス中に削除されます。
共有の影響
Databricks データを含む Excel ブックを共有する場合は、次のデータ アクセスとセキュリティへの影響を考慮してください。
インポートされたデータの可視性
受信者がインポートを更新すると、アドインは受信者のUnity Catalog権限を使用します。 基礎となるデータにアクセスできない場合、更新は失敗します。
データのプライバシーが懸念されるワークブックの場合は、次の回避策を使用できます。
- 必要なすべての数式とインポートを含むワークブックを作成します。
- シートからインポートしたデータを削除します。
- ワークブックを受信者と共有します。
- 受信者にデータを更新してもらいます。
受信者は、 Unity Catalog権限に基づいてアクセスできるデータのみを表示します。
ワークスペースとデータ資産へのアクセス
- ワークブックで参照されているUnity Catalogオブジェクトへのアクセス権を持たないユーザーは、データを更新できません。 データを更新するには、ユーザーは Unity Catalog 内の基礎となるテーブルとビューに対する読み取り権限を持っている必要があります。
- 既存のインポートを編集するには、ユーザーは Databricks の基になるテーブルにアクセスできる必要があります。
クエリの可視性
ワークブックの編集アクセス権を持つユーザーは、Unity Catalog 内の基になるデータにアクセスできない場合でも、Databricks アドインを通じてデータを生成するために使用されたクエリを表示できます。
制限事項
- カスタム関数 : カスタム関数の場合、SQL 実行 API の制限により、クエリ結果は 25 MiB に制限されます。