0
私はApache Sparkのクイックスタートに取り組んでいます。私はコレクションの変換の効率について疑問を抱いていました。次のコードを改善する方法を知りたいと思います:Scala:2つの方がより効率的にスライドする
// Variable initialisation
val N = 300.0
val input = (0.0 to N-1 by 1.0).toArray
val firstBigDivi = 100
val windowDuration = 6
val windowStep = 3
// Process
val windowedInput = inputArray.
sliding(firstBigDivi,firstBigDivi).toArray. //First, a big division
map(arr=>arr.sliding(windowDuration,windowStep).toArray)//Second, divide the division
同じ方法を効率的に行う別の方法はありますか?私は、このコードは、入力配列(これは大きなコレクションの問題かもしれない)の上に2回反復すると思いますよね?
感謝を書き込むことによって、配列にそのイテレータを評価することができ
をすれば良いです!私が正しく理解していれば、コンバージョンのみ保存できますか? 2番目の質問はどうですか?私は本当に2回反復する必要がありますか? – PaNh
配列の配列を作成したいので、内部構造の上に1回、外側構造の上に1回反復できない方法はありません。より多くの操作をどのように節約できるかはわかりません。もちろん、配列を持っている場合は、滑らかにマップしたり、手作業で繰り返したりすることなく、出力配列を命令的に構築することができます。 –
あなたは手で反復するのが安価かもしれないと思いますか? – PaNh