Size: a a a

2020 August 31

ИК

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

Похоже, надо делать не так, ведь результаты будут некорректные, перенесенная агрегация не обойдется без последствий
источник

ИК

Иван Калининский... in Data Engineers
Жмака
Но груп бай так в каждом отдельном может привести к другому результату после юниона. Или я ошибаюсь?
Так и есть, да!
источник

ПФ

Паша Финкельштейн... in Data Engineers
Ну да, агрегацию надо после юниона, конечно
источник

ПФ

Паша Финкельштейн... in Data Engineers
А значит и часть преобразований
источник

Ж

Жмака in Data Engineers
Вобщем я в мапе только фильтр добавил и схему кейс класса, чтобы сократить данные, а груп бай с аггрегацией после юниона и еще раз схему прилепил:
источник

Ж

Жмака in Data Engineers
val aggDeliveryQuality = aggTableParquetList
     .grouped(128)
     .toList
     .map(files => sparkSession.read.parquet(files: _*))
     .map(_.filter(filterClause).as[ViewabilitySourceAgg])
     .reduce(_ union _)
     .groupBy("request_id")
     .agg(sum(sumColumn).as("viewable_impression"))
     .select(colNamesAgg.map(name => col(name)): _*)
     .dropDuplicates()
     .as[ViewabilitySourceAgg]
     .as("ViewabilitySourceAgg")
источник

ИК

Иван Калининский... in Data Engineers
.toList.par
источник

Ж

Жмака in Data Engineers
Начал работать. Сейчас посмотрю как продвигается.. Par забыл. Но пока без него вроде первичный результат может показать что то. План выстроил вроде как требовалось: 128 файлов в каждом датафрейме, юнион и потом у меня джойн еще идет с другим таким же юнионом
источник

Ж

Жмака in Data Engineers
Job aborted due to stage failure: Total size of serialized results of 26635 tasks (1024.0 MB) is bigger than spark.driver.maxResultSize (1024.0 MB)
источник

AZ

Anton Zadorozhniy in Data Engineers
на клиента тащите чтоли
источник

ИК

Иван Калининский... in Data Engineers
-- conf spark.driver.maxResultSize=0, и на драйвере должно быть достаточно памяти
источник

Ж

Жмака in Data Engineers
Anton Zadorozhniy
на клиента тащите чтоли
Да. Сейчас вижу что забыл поменять на кластер в сабмите
источник

AZ

Anton Zadorozhniy in Data Engineers
даже на кластере драйвер бежит на одной машине
источник

GP

Grigory Pomadchin in Data Engineers
Паша Финкельштейн
Согласен, можно сделать на параллельных стримах если без зио
параллельные стримы то зачем
источник

AZ

Anton Zadorozhniy in Data Engineers
а почему так много датафреймов, хаускипинг процессы сломались?
источник

ПФ

Паша Финкельштейн... in Data Engineers
Grigory Pomadchin
параллельные стримы то зачем
Мне уже правильно указали что оно и в скале есть вполне себе из коробки
источник

GP

Grigory Pomadchin in Data Engineers
Паша Финкельштейн
Мне уже правильно указали что оно и в скале есть вполне себе из коробки
А что в скале ‘параллельные стримы’?
источник

ПФ

Паша Финкельштейн... in Data Engineers
Grigory Pomadchin
А что в скале ‘параллельные стримы’?
Там параллельные сиевенсы же
источник

GP

Grigory Pomadchin in Data Engineers
Паша Финкельштейн
Там параллельные сиевенсы же
я уж думал ты про жавовые. но скаловые пар сиквенсы тож моветон
источник

ИК

Иван Калининский... in Data Engineers
Grigory Pomadchin
я уж думал ты про жавовые. но скаловые пар сиквенсы тож моветон
чтобы начать proof of concept, сойдут и параллельные коллекции ))
источник