全部產品
Search
文件中心

E-MapReduce:DuckDB SQL開發

更新時間:Apr 21, 2026

EMR Serverless Spark整合了DuckDB,為您提供輕量級、高效的資料分析能力。通過DuckDB SQL任務,您可以快速進行資料探索、原型開發和臨時性資料查詢。

前提條件

使用限制

  • 僅支援讀取OSS檔案及DLF Catalog資料。

  • 通過DuckDB讀取DLF資料時,存在以下限制:

    • 操作類型:僅支援讀取Paimon Append表,暫不支援讀取主鍵表和寫入操作。

    • 表格式要求:僅支援file.format = 'parquet'的Paimon表。

    • Catalog類型要求:不支援訪問通過資料共用建立的DLF Catalog。

建立DuckDB SQL任務

  1. 進入開發頁面。

    1. 登入E-MapReduce控制台

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

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

    4. 在左側導覽列,單擊資料開發

  2. 建立任務。

    1. 在資料開發頁面,單擊建立任務

    2. 建立任務對話方塊中,選擇互動式開發 > DuckDB SQL

    3. 輸入任務名稱,單擊確定

    4. 在右上方選擇DuckDB會話。

    5. 在建立的任務編輯器中輸入SQL語句。

讀取OSS檔案

說明

在進行OSS檔案的讀寫操作之前,請確保已開通OSS服務,並建立相應的儲存空間,同時確認Serverless Spark工作空間執行角色具備對該儲存空間的存取權限。

  • 查看Parquet、CSV、JSON檔案的內容。

    -- 查看 Parquet 檔案的內容
    SELECT * FROM 'oss://bucket/path/to/test.parquet';
    -- 查看 CSV 檔案的內容
    SELECT * FROM 'oss://bucket/path/to/test.csv';
    -- 查看 JSON 檔案的內容
    SELECT * FROM 'oss://bucket/path/to/test.json';
  • 查看Parquet檔案Schema。

    SELECT * FROM parquet_schema('oss://your-bucket/path/to/test.parquet');
  • 將查詢結果匯出為CSV檔案。

    COPY (SELECT * FROM 'oss://your-bucket/path/to/test.parquet')
    TO 'oss://your-bucket/path/to/output.csv'
    (HEADER, DELIMITER ',');

訪問DLF Catalog

說明

通過DuckDB讀取DLF資料時,存在以下限制:

  • 操作類型:僅支援讀取Paimon Append表,暫不支援讀取主鍵表和寫入操作。

  • 表格式要求:僅支援file.format = 'parquet'的Paimon表。

  • Catalog類型要求:不支援訪問通過資料共用建立的DLF Catalog。

  • 查看當前工作空間已經綁定的DLF Catalog。有關更多DLF資料目錄的內容,請參見管理資料目錄。

    SHOW DATABASES;
  • 查詢DLF Catalog中的表資料。

    USE <catalogName>.<databaseName>;
    SELECT * FROM <tableName> LIMIT 10;