Карта сгруппированных искр UDF в Scala - PullRequest
1 голос
/ 08 апреля 2020

Я пытаюсь написать некоторый код, который позволил бы мне вычислить какое-либо действие для группы строк в кадре данных. В PySpark это возможно путем определения Pandas UDF типа GROUPED_MAP. Однако в Scala я нашел только способ создания пользовательских агрегаторов (UDAF) или classi c UDF.

Мое временное решение - создать список ключей, которые будут кодировать мои группы, что позволит мне отфильтровать кадр данных и выполнить мое действие для каждого подмножества кадра данных. Однако этот подход не является оптимальным и очень медленным. Выполненные действия выполняются последовательно, что занимает много времени. Я мог бы распараллелить l oop, но я уверен, что это покажет какое-то улучшение, поскольку Spark уже распространен.

Есть ли лучший способ сделать то, что я хочу?

Редактировать: Пробовал распараллеливание с использованием Futures, но улучшения скорости не произошло, как и ожидалось

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...