Size: a a a

2019 December 06

DZ

Dmitry Zuev in Data Engineers
Евгений Глотов
Компиляция спарк-эскуэль кода, к сожалению, не очень сильно помогает избежать в нём ошибок на этапе выполнения)
На нем не обязательно писать
источник

DZ

Dmitry Zuev in Data Engineers
А кого-то вовсе рдд
источник

DZ

Dmitry Zuev in Data Engineers
Dmitry Zuev
Если это питон модель то все равно через arrow пойдет
И это если Спарк свежий
источник

R

Renarde in Data Engineers
Dmitry Zuev
А кого-то вовсе рдд
забавно кстати что rdd иногда быстрее Dataset-ов работает с map-ами
источник

DZ

Dmitry Zuev in Data Engineers
Renarde
забавно кстати что rdd иногда быстрее Dataset-ов работает с map-ами
Такое себе заявление.
Какие кейсы?
источник

R

Renarde in Data Engineers
Dmitry Zuev
Такое себе заявление.
Какие кейсы?
источник

R

Renarde in Data Engineers
точную минуту не скажу, сорри 🙃
источник

DZ

Dmitry Zuev in Data Engineers
Ну ок. Если нужны мапы, не нужен sql, мало сериализации
источник

R

Renarde in Data Engineers
Но вообще насчет инференса моделей на реально больших объемах данных - это реально хороший вопрос что лучше:
- python-spark-broadcast-apply
- HTTP-based model server
- Kafka-based model app
- <добавьте свой вариант>
источник

DZ

Dmitry Zuev in Data Engineers
Http сразу не оч, если там 60Тб (sic!)
источник

R

Renarde in Data Engineers
если бы вот кто-нибудь взял criteo бенчмарк на терабайт и поигрался с ним насчет инференса, было бы круто, но у меня никак руки не доходят
источник

AL

Artem Likhomanenko in Data Engineers
Может кто то поделиться замерами или статьей или ещё чем то, насколько ускоряется мапредьюс поиск по критериям по авро файлам и по паркетам? Стоит ли сырые авро данные конвертить в паркет, при условии, что поиск все равно поиск будет по геструктурированному полю. Вроде бы это стандартный паттерн для оптимизации чтения и оптимизации записи
источник

AL

Artem Likhomanenko in Data Engineers
или если у меня не структурированное месиво, то разницы не будет в каком формате хранить и как искать?
источник

AL

Artem Likhomanenko in Data Engineers
Artem Likhomanenko
Может кто то поделиться замерами или статьей или ещё чем то, насколько ускоряется мапредьюс поиск по критериям по авро файлам и по паркетам? Стоит ли сырые авро данные конвертить в паркет, при условии, что поиск все равно поиск будет по геструктурированному полю. Вроде бы это стандартный паттерн для оптимизации чтения и оптимизации записи
отвечу сам себе, вдруг кому то будет интересно https://www.youtube.com/watch?v=tB28rPTvRiI
и ссылка на презентацию https://www.slideshare.net/HadoopSummit/file-format-benchmark-avro-json-orc-parquet
все оказалось интересней
источник

MS

Mikhail Strukov in Data Engineers
☝🏻👍🏻
источник

A

Alex in Data Engineers
а можно глупый вопрос по спарку?

https://github.com/apache/spark/blob/master/core/src/main/scala/org/apache/spark/deploy/SparkHadoopUtil.scala#L48

зачем он загружает повторно дефолтные конфиги из core-site.xml hdfs-site.xml и переписывает ими UGI уже существующую?
источник

A

Alex in Data Engineers
просто есть интеграционные тесты для керберос кластера
авторизация в хдфс и подготовка данных на хдфс прошла успешна
спаркконфиг создан
попытка поднять в локал моде инстанс и он сносит авторизацию ….
источник

A

Alex in Data Engineers
так как хадуп конфигов и нету, все автоматом из других вещей сеталось создавая сразу Configuration с минимумом
источник
2019 December 07

R

Roman in Data Engineers
Коллеги спарководоведы, нужен ваш совет:

Пытаюсь запустить параллельно чтение, трансформации и запись из 10 источников в рамках одной спарк сессии. Т.е. на драйвере подготавливаю мапу, где ключ это дата, а значение - это лист с путями а s3. Далее из мапы беру энтрисет из него делаю параллельный стрим. В этом стриме для каждой энтри я запускаю чтение из источника, трансформации и запись в приёмник.

Я ожидал, что в спарк ui я увижу 10 активных джобов, но на деле я вижу тоько 5. Т.е. Одновременно тоько 5 источников. На каждый источник по 20 оьраьотчиков. обрабатываются. Почему так? Есть ли какое - то ограничение на количество одновременно активных джобов?

Spark 2.4.3 emr 5.25.
На yarn Cluster.
Пишу на Java(но это вообще не должно влиять).

Ещё один вопросик - почему ярн может не выдавать доп ядра драйверу? Я выставлю --driver-core 4. В спарк ui, во вкладке Environment я вижу, что он подтянул этот конфиг, но в yarn resource Manager я вижу, что количество контейнеров равно количеству ядер, значит и у драйвера и экзекьютеров по 1 му ядра.

P.s. Сорян за опечатки, пишу с телефона, пальцы жирные.
источник

ЕГ

Евгений Глотов in Data Engineers
Roman
Коллеги спарководоведы, нужен ваш совет:

Пытаюсь запустить параллельно чтение, трансформации и запись из 10 источников в рамках одной спарк сессии. Т.е. на драйвере подготавливаю мапу, где ключ это дата, а значение - это лист с путями а s3. Далее из мапы беру энтрисет из него делаю параллельный стрим. В этом стриме для каждой энтри я запускаю чтение из источника, трансформации и запись в приёмник.

Я ожидал, что в спарк ui я увижу 10 активных джобов, но на деле я вижу тоько 5. Т.е. Одновременно тоько 5 источников. На каждый источник по 20 оьраьотчиков. обрабатываются. Почему так? Есть ли какое - то ограничение на количество одновременно активных джобов?

Spark 2.4.3 emr 5.25.
На yarn Cluster.
Пишу на Java(но это вообще не должно влиять).

Ещё один вопросик - почему ярн может не выдавать доп ядра драйверу? Я выставлю --driver-core 4. В спарк ui, во вкладке Environment я вижу, что он подтянул этот конфиг, но в yarn resource Manager я вижу, что количество контейнеров равно количеству ядер, значит и у драйвера и экзекьютеров по 1 му ядра.

P.s. Сорян за опечатки, пишу с телефона, пальцы жирные.
Ещё есть у тредпулэкзекутора (который, если я ничего не путаю, скрыт под параллел стримами) параметр максимальной параллельности, может он по умолчанию равен числу ядер + 1
источник