Presto(プレスト)とは、Hiveと同じく大規模分散計算フレームワークHadoop上で動作する、データウェアハウス(DWH)向けのプロダクトです。
しかし、計算の仕組はHiveと異なります。Hiveは実行されると数段のMapReduceジョブ(コンピュータに与える仕事の単位)へと変換されますが、Prestoは個々のタスク(ジョブが細分化された仕事)が並列で動いています。
また、中間データをメモリに持つことでタスク間のデータのやりとりが高速になり、HiveよりもCPUの効率が優れ、データ取得時間が短くなります。結果として、クエリの結果をほぼリアルタイムに得ることができます。
・ディスク間のデータの読み書きがない
・メモリ間でデータが伝送される
・タスクが並列で繋がっていて、待ち時間がない
PrestoはSQL互換言語であり、一般的な集計関数やカウントなどに対応しています。
【Presto構文の例】
#Number of Accesses per Unique host
Select host, COUNT(1) FROM www_access GROUP BY host