2015-04-15 2 views
0

Есть 2 трубы pipe1 и pipe2, которые будут слиты с другой трубой pipe0.Эффективность каскадного слияния

Есть ли разница в эффективности между делать

pipe0 = new Merge(pipe0, pipe1, pipe2); 

и

pipe0 = new Merge(pipe0, pipe1); 
pipe0 = new Merge(pipe0, pipe2); 

Если да, то, что происходит за кулисами?

+0

Задав вопрос в [Каскадная группа пользователей] (https://groups.google.com/forum/#!forum/cascading-user), вы можете получить ответ. – chinglun

ответ

0

Я думаю, что второй является наиболее эффективным с точки зрения памяти. Это связано с тем, что сначала нужно объединить большой объем данных, а второй - объединить меньший набор данных несколько раз. Таким образом, сначала можно быстро поститься за счет памяти. Это вам решать.

Посмотрите на реализацию класса Merge. https://github.com/cwensel/cascading/blob/30c4b21552ad0db4e3ed3fe8dfed3e702945851a/cascading-core/src/main/java/cascading/pipe/Merge.java

Смежные вопросы