使用 Lakehouse 查詢瀏覽器查詢資料

Lakehouse 查詢瀏覽器是直接嵌入 Lakehouse 檔案總管內部的整合查詢編輯器。 你可以直接在瀏覽器中,針對 Lakehouse 中的資料撰寫並執行 Spark SQL 查詢。 你不需要切換到 SQL 分析端點,也不需要建立筆記本來快速探索資料。

查詢瀏覽器使用 Apache Spark 作為執行引擎,並利用 lakehouse 的 Livy 端點。 你會得到與 Spark 筆記本相同的 SQL 方言,支援讀寫操作,並能有效查詢大型資料集。

湖屋查詢探測器的動畫運作中。

打開查詢總管

你可以透過以下方式從 Lakehouse 瀏覽器開啟查詢總管:

  • 頂端導覽選單 — 從頂端導覽選單選擇 新 SparkSQL 查詢 。 在 Lakehouse 檔案總管內嵌會開啟一個空白查詢分頁。
  • 左側導覽選單 — 右鍵點擊檔案總管樹中的任一表格、檢視或捷徑,選擇 新 SparkSQL 查詢。 查詢分頁會以預先填充 SELECT * FROM <table> LIMIT 100 的語句開啟。

當查詢總管開啟時,左側的總管樹狀結構仍會顯示,因此你可以在撰寫查詢時參考結構描述和資料表。

查詢編輯器功能

查詢編輯器為 Spark SQL 提供了高效的創作體驗:

  • IntelliSense — 自動補全功能,用於資料表名稱、欄位名稱、結構及 SQL 函式。 輸入 FROM後,IntelliSense 會建議可用的湖屋、結構圖和表格。 當查詢中參照到資料表時,就會顯示欄位建議。 將滑鼠游標移至表格名稱上方,即可在彈出視窗中查看其欄位。
  • 語法高亮 — 以顏色編碼的 SQL 關鍵字、識別碼與字面值。
  • 格式 — 在工具列中選擇 格式 ,以自動縮排並結構化你的 SQL。
  • 執行與取消 — 選擇 執行 以執行查詢 ,或取消 以停止正在執行的查詢。
  • 行號與程式碼摺疊 — 將長查詢區塊合併,方便導航。

動態分頁

你可以同時開啟多個查詢分頁,並即時切換。 每個分頁獨立維護自己的查詢文字、執行狀態和結果。

要開啟新分頁,請從功能區或右鍵選單中選擇 「新 SparkSQL 查詢 」。 要關閉分頁,請選擇分頁上的 X 。關閉一個分頁不會影響其他分頁。

動態分頁在你需要同時探索資料的不同面向時非常有用。 例如,一個分頁是訂單,一個是客戶分頁,還有一個是區域分類。

Note

分頁不會跨會話持續存在。 如果你關閉或離開湖邊小屋,所有開啟的分頁和查詢內容都會消失。

執行查詢

當您在查詢視窗工具列上選取 Run 時,查詢總管會連線到輕量型 Spark 工作階段,此工作階段使用 Lakehouse Livy 端點,並已針對快速啟動進行最佳化。

查詢總管底部的狀態列顯示目前的會話狀態:

現況 Meaning
未連接 沒有任何 Spark 會話是活躍的。
開賽 一個新的 Spark 會話正在初始化(僅限冷啟動)。
執行查詢 你的查詢正在執行中。
會議準備就緒 會話已啟動,準備迎接下一個查詢。

在後續查詢(熱啟動)中,執行會立即開始,無需經過「啟動會話」步驟。

支援的 SQL 語句

查詢總管支援所有 Spark SQL 語句,包括:

  • SELECT — 跨結構與湖屋查詢與探索資料。
  • DML — 用於資料修改的插入、更新、刪除與合併。
  • DDL — 建立檢視、建立表格、修改與刪除,用於結構管理。
  • 實用性語句 — DESCRIBE、SHOW TABLES、SHOW SCHEMAS 及其他元資料查詢。

Note

查詢總管不支援建立具體化的檢視。 如果查詢總管偵測到具體化的視圖語法,對話框會提示你改用筆記本。

跨綱要與跨湖倉查詢

你可以在同一個 lakehouse 中跨不同 schema 查詢資料表、在同一個工作區中跨多個 lakehouse 查詢,甚至跨不同工作區中的 lakehouse 查詢,全部都可在單一查詢分頁中完成。

  • 跨結構描述 — 使用 schema_name.table_name 語法來參照資料表(例如 SELECT * FROM sales.orders JOIN marketing.campaigns ON ...)。
  • 跨湖屋 — 使用完整合格路徑 workspace_name.lakehouse_name.schema_name.table_name 查詢其他湖屋的資料表。

Tip

將所參考的湖屋新增至總管窗格(使用 新增湖屋),以便為跨湖屋查詢提供 IntelliSense 建議。 即使不新增參考,查詢仍可成功執行,但不會有自動完成支援。

Results

查詢結果會以編輯器下方的格子顯示。 結果表格提供了:

  • 欄位排序 — 選擇欄位標頭以排序升序或降序。
  • 搜尋與篩選 — 依序篩選結果以找到特定數值。
  • 列數指示器 — 顯示回傳的列數。 預設結果最多是 1,000 列。 當結果被截斷時,會出現明確的標示。
  • 複製 — 選擇儲存格並用 Ctrl+C 複製。 貼到 Excel 或其他工具裡。
  • 匯出 — 下載結果為 CSV、JSON 或 XML 格式。
  • 內嵌圖表 — 直接從結果集建立柱形圖、折線圖、圓餅圖及其他圖表類型。 圖表會在你更改圖表類型或底層資料時更新。 不需要視覺化程式碼。

建立視圖

你可以直接從查詢總管建立檢視,將有用的查詢當作可重複使用的資產來持久保存。 視圖會自動顯示在 Lakehouse 探索樹中,旁邊有表格。

建立檢視有兩種方式:

  • SQL 陳述式 — 在編輯器中撰寫並執行陳述 CREATE VIEW 式。 欲了解更多關於火花景觀的資訊,請參閱 湖屋中的火花景觀。

    CREATE VIEW my_view AS
    SELECT customer_id, SUM(amount) AS total
    FROM sales.orders
    GROUP BY customer_id
    
  • 另存為檢視 — 執行 SELECT 查詢後,在工具列中選擇 另存為檢視 。 在對話框中為該視圖命名。

Note

你需要具備湖屋的寫入權限,才能建立視圖。 如果你沒有寫入權限,檢視建立會回傳權限錯誤。

Limitations

  • 僅限 Spark SQL — 查詢瀏覽器支援 Spark SQL。 PySpark、Scala 和 R 都不支援。 多語言支援建議使用 筆記本。
  • 沒有查詢儲存 — 查詢不會跨會話持續保存。 為了保留有用的查詢,請將其儲存為檢視。
  • 無查詢紀錄 — 先前查詢不會被儲存。 查詢儲存與歷史記錄功能計劃於未來版本中推出。
  • 不支援實體化視圖建立 — 不支援實體化視圖(MLV)建立。 使用筆記本來創造具體化的視角。
  • 無即時協作 — 查詢瀏覽器不支援即時共同撰寫。
  • 不支援查詢排程 — 若要排程執行查詢,請使用 管線 或筆記本。