Scaldingを使用したいくつかの計算の最後のステップとして、パイプ内の列のいくつかの平均を計算したいと思います。しかし、次のコードは機能しません
myPipe.groupAll { _average('col1,'col2, 'col3) }
sum, max, average
いくつかのパスを実行せずにそのような関数を計算する方法はありますか?私はパフォーマンスについて心配していますが、おそらくScaldingはそれをプログラムで検出するのに十分賢いです。
この質問は、カスケードユーザーフォーラムで回答されました。参考としてここに答えを残す
myPipe.groupAll { _.average('col1).average('col2).average('col3) }
以下の関数を使用して、サイズ(別名カウント)、平均、およびstandardDevを一度に実行できます。
// Find the count of boys vs. girls, their mean age and standard deviation.
// The new pipe contains "sex", "count", "meanAge" and "stdevAge" fields.
val demographics = people.groupBy('sex) { _.sizeAveStdev('age -> ('count, 'meanAge, 'stdevAge) ) }
ただし、maxを見つけるには、別のパスが必要になります。