2016-01-05 2 views
0

df - это dataframe содержит все данные автомобиля (| id | время | скорость | gps | ... |);Как применять несколько методов одновременно в Spark?

поездки - это список серий содержит (id, start, end), которые генерируются из df.

method1 используется для получения информации о статусе каждого идентификатора. method2 используется для получения информации о других идентификаторах других идентификаторов.

Как этот код:

val a = method1(trips,df,sc) 
val b = method2(trips,df,sc) 
val c = method3(trips,df,sc) 
val d = method4(trips,df,sc) 
val e = method5(trips,df,sc) 
val f = method6(trips,df,sc) 

Поскольку каждый метод займет определенное время, есть ли способ, чтобы применить методы задания в то же время? Тип a, b ..., f - это dataframe.

+1

Являются ли типы подписей одинаковыми? – Reactormonk

+0

Да, подписи типов одинаковы – steven

+0

@ zero323 искра запускает параллельные операции, потому что звонки ленивы - если вы не собираете где-нибудь. – Reactormonk

ответ

0

да, вы можете выполнять несколько заданий в то же время в свече кластере с помощью асинхронных действий как collectAsync(), countAsync() и т.д.

yo just set configuration with context .set("spark.scheduler.mode", "FAIR") 

И использовать асинхронные действия и поэтому все задания выполняется асинхронно и его возвращение, чтобы ваши методы также возвращали будущее, поэтому все методы запускаются одновременно.

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