Hive と Prestoの関数の違い
Treasure DataでSQLを書いていて、HiveとPrestoで使える関数に違いがあったのでメモ。
以下、HIve関数→Presto関数 を表しています。
- TD_FIRST(x, y)→min_by(x, y)
- yでグルーピングされて、yが最も小さいときのxを返す
- TD_LAST→max_by
- yでグルーピングされて、yが最も大きいときのxを返す
- COLLECT_ALL(x)→array_agg(x)
- GROUP BYした結果をarrayに展開する
- COLLECT_ALL 事例:HIVE 0.13でGROUP BYしてCOUNTして上位10件をCOLLECT_ALLしてarrayで取得する : mwSoft blog
- array_agg:6.13. Aggregate Functions — Presto 0.191 Documentation
参考
Presto のドキュメント(関数一覧) https://prestodb.io/docs/current/
Prestoは分散SQLエンジンらしい https://qiita.com/usk81/items/3452c34175eb93b1573d