すべてのプロダクト
Search
ドキュメントセンター

E-MapReduce:DuckDB SQL development

最終更新日:Apr 21, 2026

EMR Serverless Spark は DuckDB を統合し、軽量で効率的なデータ分析機能を提供します。DuckDB SQL ジョブを使用すると、データの迅速な探索、プロトタイプの開発、アドホッククエリの実行が可能になります。

前提条件

  • EMR Serverless Spark ワークスペースが作成されていること。詳細については、「ワークスペースの作成」をご参照ください。

  • DuckDB セッションが作成され、開始されていること。詳細については、「DuckDB セッションの管理」をご参照ください。

制限事項

  • OSS ファイルおよび DLF カタログからのデータ読み取りのみがサポートされています。

  • DuckDB を使用して DLF カタログからデータを読み取る場合、次の制限事項が適用されます。

    • 操作タイプ:Paimon の追加専用テーブルからのデータ読み取りのみがサポートされています。プライマリキーテーブルからの読み取りおよび書き込み操作はサポートされていません。

    • テーブルフォーマット:file.format = 'parquet' の Paimon テーブルのみがサポートされています。

    • カタログタイプ:データ共有を使用して作成された DLF カタログにはアクセスできません。

DuckDB SQL ジョブの作成

  1. データ開発ページに移動します。

    1. EMR コンソールにログインします。

    2. 左側のナビゲーションウィンドウで、[EMR Serverless] > [Spark] を選択します。

    3. Spark ページで、対象のワークスペース名をクリックします。

    4. 左側のナビゲーションウィンドウで、[データ開発] をクリックします。

  2. ジョブを作成します。

    1. データ開発ページで、[ジョブの作成] をクリックします。

    2. [ジョブの作成] ダイアログボックスで、[インタラクティブ開発] > [DuckDB SQL] を選択します。

    3. ジョブ名を入力し、[OK] をクリックします。

    4. 右上隅で、DuckDB セッションを選択します。

    5. 新しいジョブエディターで、SQL ステートメントを入力します。

OSS ファイルの読み取り

説明

OSS 内のファイルの読み書きを行う前に、OSS を有効化し、バケットを作成していることを確認してください。また、ご利用の EMR 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 ファイルのスキーマを表示します。

    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 カタログへのアクセス

説明

DuckDB を使用して DLF カタログからデータを読み取る場合、次の制限事項が適用されます。

  • 操作タイプ:Paimon の追加専用テーブルからのデータ読み取りのみがサポートされています。プライマリキーテーブルからの読み取りおよび書き込み操作はサポートされていません。

  • テーブルフォーマット:file.format = 'parquet' の Paimon テーブルのみがサポートされています。

  • カタログタイプ:データ共有を使用して作成された DLF カタログにはアクセスできません。

  • 現在のワークスペースにバインドされている DLF カタログを表示します。DLF データカタログの詳細については、「データカタログの管理」をご参照ください。

    SHOW DATABASES;
  • DLF カタログ内のテーブルデータをクエリします。

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