全部產品
Search
文件中心

E-MapReduce:管理DuckDB會話

更新時間:Apr 21, 2026

您可以使用DuckDB會話來進行DuckDB SQL互動式開發,享受輕量級、高效的資料分析能力。本文為您介紹如何建立DuckDB會話。

背景資訊

DuckDB是一款輕量級、高效能的嵌入式AnalyticDB引擎,專為OLAP(線上分析處理)情境最佳化。

  • 功能特性

    • 嵌入式架構:無需獨立伺服器,以庫的形式直接嵌入應用程式(類似SQLite),支援記憶體/磁碟模式。

    • 列式儲存:資料按列儲存,最佳化彙總查詢與掃描效能。

    • 向量化執行:利用SIMD指令平行處理資料批次,減少CPU開銷。

    • 標準相容:支援SQL-92、SQL:2011標準,涵蓋CTE、視窗函數、JOIN(包括ASOF JOIN)、子查詢等。

    • 多格式直讀:直接查詢CSV、Parquet、JSON檔案,無需匯入。

    • 零拷貝整合:與Pandas、Arrow等記憶體資料結構無縫轉換,避免資料移轉開銷。

    • 聯邦查詢:通過httpfs擴充訪問遠程檔案(如S3),或串連PostgreSQL等外部資料庫聯集查詢。

  • 適用情境

    • 互動式分析:快速處理GB~TB級資料集,替代Pandas/Excel處理巨量資料。

    • 邊緣計算:嵌入式部署在終端裝置,執行本機資料分析。

    • 資料科學:與Python/R生態無縫銜接,作為ML資料預先處理引擎。

    • 即時OLAP:支援高頻更新與複雜查詢並存的分析需求。

使用限制

  • DuckDB會話僅支援使用esr-4.8.0及以上、esr-3.7.0及以上引擎版本。

建立DuckDB會話

  1. 登入E-MapReduce控制台

    1. 在左側導覽列,選擇EMR Serverless > Spark

    2. Spark頁面,單擊目標工作空間名稱。

    3. EMR Serverless Spark頁面,單擊左側導覽列中的會話管理

    4. 會話管理頁面,單擊DuckDB會話頁簽。

  2. 在DuckDB會話列表頁面,單擊建立DuckDB會話

  3. 建立DuckDB會話對話方塊中,配置以下參數。

    重要

    建議所選部署隊列的並發上限至少設定為DuckDB會話所需的資源大小,具體數值以控制台展示為準。

    參數

    說明

    名稱

    建立DuckDB會話的名稱。支援中文、英文字母、數字、底線(_)和連字號(-),長度為1~64個字元。同一工作空間內會話名稱不可重複。

    部署隊列

    選擇用於運行DuckDB會話的資源隊列。僅支援選擇已就緒的隊列。如果您尚未建立隊列,請先前往資源隊列管理頁面建立。具體操作,請參見管理資源隊列。

    引擎版本

    選擇DuckDB會話使用的引擎版本。當前支援的版本請參見版本介紹。

    自動停止

    設定會話在無活動狀態下的自動停止時間。開啟後,當會話在指定時間內無任何操作時,系統將自動停止會話以節省資源。預設開啟,預設時間為45分鐘。

    網路連接

    如果您的DuckDB任務需要訪問VPC內的資料來源或外部服務,需要配置網路連接。在下拉式清單中選擇已建立的網路連接名稱。具體操作,請參見新增網路連接。

    cores

    DuckDB的CPU數量。預設值為2 CPU。

    memory

    DuckDB的記憶體大小。預設值為8 GB。

    memoryOverhead

    DuckDB可用的記憶體。預設值為max(384MB, 10% × memory)

    Spark配置

    填寫Spark配置資訊,預設以空格符分隔,例如,spark.sql.catalog.paimon.metastore dlf

  4. 單擊建立

建立完成後,您可以在DuckDB會話列表頁面查看新建立的會話。工作階段狀態為運行中時,即可用於DuckDBSQL開發

查看運行記錄

  1. 在資料開發工作單位執行完成後,您可以通過會話管理頁面查看任務的運行記錄。

  2. 在會話列表頁面,單擊會話名稱。

  3. 單擊運行記錄頁簽。

    在該頁面中,您可以查看任務的詳細運行資訊,包括運行ID、啟動時間、Spark UI等資訊。image