SparkSQLの集約関数とは
最近の業務ではSparkSQLを書くことが多くあります。
集約関数はデータベースのテーブルやビューなどの集合データに対して、集計や統計的な操作を行うための関数です。
以下によく使う集約関数を中心にまとめてみたいと思います!
SparkSQL集約関数
- SUM: カラムの合計を計算します。
SELECT SUM(column_name)
FROM table_name
- COUNT: カラムの非NULL値の数を計算します。
SELECT COUNT(column_name)
FROM table_name
- AVG: カラムの平均値を計算します。
SELECT AVG(column_name)
FROM table_name
- MIN: カラムの最小値を返します。
SELECT MIN(column_name)
FROM table_name
- MAX: カラムの最大値を返します。
SELECT MAX(column_name)
FROM table_name
- COUNT DISTINCT: カラムのユニークな値の数を計算します。
SELECT COUNT(DISTINCT column_name)
FROM table_name
- SUM DISTINCT: カラムのユニークな値の合計を計算します。
SELECT SUM(DISTINCT column_name)
FROM table_name
- AVG DISTINCT: カラムのユニークな値の平均値を計算します。
SELECT AVG(DISTINCT column_name)
FROM table_name
- COLLECT_LIST: グループ化されたカラムの値をリストとして収集します。
SELECT group_column, COLLECT_LIST(column_name)
FROM table_name GROUP BY group_column
- COLLECT_SET: グループ化されたカラムのユニークな値をセットとして収集します。
SELECT group_column, COLLECT_SET(column_name)
FROM table_name GROUP BY group_column
- FIRST: グループ内のカラムの最初の値を返します。
SELECT group_column, FIRST(column_name)
FROM table_name
GROUP BY group_column
- LAST: グループ内のカラムの最後の値を返します。
SELECT group_column, LAST(column_name)
FROM table_name
GROUP BY group_column
集約関数で一緒に使用するGROUP BY
集約関数使用時にはGROUP BYでカラムの値に基づいたグループ化を行います。
- GROUP BY: カラムの値に基づいて結果をグループ化します。集約関数と一緒に使用されます。
SELECT column_name, SUM(another_column)
FROM table_name
GROUP BY column_name
SQL参考記事
そのほかの関数もこちらにまとめておりますのでご参考ください。
>SparkSQLの文字列関数
>SparkSQLの日付関数コード
参考になれば幸いです☕
コメント