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

MaxCompute:MAP_AGG

最終更新日:Jan 17, 2025

aとbを使用して作成されたマップを返します。 aはマップ内のキーです。 bはマップ内のキーの値です。 マップ内のキーがnullの場合、キーは無視されます。 キーフィールドの値が重複している場合は、いずれかの値がランダムに保持されます。

使用上の注意

MaxCompute V2.0は追加機能を提供します。 使用する関数に新しいデータ型が含まれる場合は、MaxCompute V2.0データ型エディションを有効にする必要があります。 新しいデータ型には、TINYINT、SMALLINT、INT、FLOAT、VARCHAR、TIMESTAMP、およびBINARYが含まれます。

  • セッションレベル: MaxCompute V2.0データ型エディションを使用するには、実行するsql文の前にset odps. SQL. type.system.odps2=true; を追加し、一緒にコミットして実行する必要があります。

  • プロジェクトレベル: プロジェクトの所有者は、プロジェクトの要件に基づいて、プロジェクトのMaxCompute V2.0データ型エディションを有効にできます。 設定は10〜15分後に有効になります。 サンプルコマンド:

    setproject odps.sql.type.system.odps2=true;

    setprojectの詳細については、「プロジェクト操作」をご参照ください。 プロジェクトレベルでMaxCompute V2.0データ型エディションを有効にする際の注意事項の詳細については、「データ型エディション」をご参照ください。

複数の集計関数を含むSQL文を使用していて、プロジェクトのリソースが不足している場合、メモリオーバーフローが発生する可能性があります。 ビジネス要件に基づいて、SQLステートメントを最適化するか、コンピューティングリソースを購入することを推奨します。

構文

map<K, V> map_agg(K a, V b);

パラメーター

  • a: マップのキーとして使用される入力フィールド。

  • b: マップの値として使用される入力フィールド。

戻り値

Aとbを使用して作成された新しいマップが返されます。

select map_agg(a, b) from
        values (1L, 'apple'), (2L, 'hi'), (null, 'good'), (1L, 'pie') t(a, b);

次の応答が返されます。

+------------------------+
| _c0                    |
+------------------------+
| {"2":"hi","1":"apple"} |
+------------------------+

関連関数

MAP_AGGは集計関数です。 複数の入力レコードの平均値の計算およびパラメーターの集計に使用される関数の詳細については、集計関数.