Size: a a a

2021 April 04

VS

Vasily Safronov in Moscow Spark
Повелитель Бури
Тут помогает процедурный подход

Каждый блок это 1 преобразование  который порождает новую таблицу
А dataflow решается через airfow
ровно так мы и планировали поступить, правда для dataflow использовать meltano от gitlab, который из коробки включает dbt и airflow, но взвесив за и против, решили, что гибкости спарка все равно в таком подходе не достичь, т.к. нет четкого разделения данных и логики, в свою очередь нет возможности реализовать логику с помощью классических средств разработки (дебага, эксепшенов, профайлинга), нет возможности использовать функциональный подход, соответственно нет нормального тестирования, даже нет возможности провесить логами внутренности шага
источник

VS

Vasily Safronov in Moscow Spark
и все это в конечном счете приводит к увеличению time-to-market, увеличивает риски, ну и от самого процесса разработки приятного мало
источник

e

er@essbase.ru in Moscow Spark
Vasily Safronov
и все это в конечном счете приводит к увеличению time-to-market, увеличивает риски, ну и от самого процесса разработки приятного мало
В итоге у вас  голый Спарк?
источник

VS

Vasily Safronov in Moscow Spark
er@essbase.ru
В итоге у вас  голый Спарк?
на голом спарк далеко не уедешь, надо же где-то хранить данные, присматриваемся к azure data lake v2 + databricks
источник

e

er@essbase.ru in Moscow Spark
Vasily Safronov
на голом спарк далеко не уедешь, надо же где-то хранить данные, присматриваемся к azure data lake v2 + databricks
да, вот про облака вопрос ))
 я правильно понимаю что там место хранения и расчета разделены ? т.е. концепция - там где храним , там и считаем не выполняется..
- или там скорость чтения сопоставима с локальным диском ?
источник

e

er@essbase.ru in Moscow Spark
Vasily Safronov
на голом спарк далеко не уедешь, надо же где-то хранить данные, присматриваемся к azure data lake v2 + databricks
оркестратор какой выбрали ?
источник

VS

Vasily Safronov in Moscow Spark
er@essbase.ru
да, вот про облака вопрос ))
 я правильно понимаю что там место хранения и расчета разделены ? т.е. концепция - там где храним , там и считаем не выполняется..
- или там скорость чтения сопоставима с локальным диском ?
как раз в такой связке концепция где храним, там и считаем - выполняется, hdfs, mapreduce, spark все дела… либо я не понял вопрос
источник

VS

Vasily Safronov in Moscow Spark
er@essbase.ru
оркестратор какой выбрали ?
да я думаю тем же airflow обойдемся
источник

e

er@essbase.ru in Moscow Spark
Vasily Safronov
как раз в такой связке концепция где храним, там и считаем - выполняется, hdfs, mapreduce, spark все дела… либо я не понял вопрос
вот разные квадратики ))   ( -это физическое разделение или логическое ? )
источник

VS

Vasily Safronov in Moscow Spark
скорее логическое, так как спарк джобы выполняются на том же кластере, что и ADLS, другое дело, что вам при реализации пайплайна нужно его оптимизировать его таким образом, чтобы сократить межсетевой обмен между датанодами - здесь я пока не подскажу, только начал копать в эту сторону
источник

VS

Vasily Safronov in Moscow Spark
я пока планирую как сказал @asm0dey выше просто перетащить все свои CTE в отдельные методы на спарке и забенчмарчить - расскажу что получится )
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Яна?
источник

e

er@essbase.ru in Moscow Spark
Скажите а что и как вы тестируете в Спарке для DF ?
 есть ли примеры кода когда тестами покрывается качество данных, результат расчета .
можно ли в самом расчете проверить рухнул ли определенный таск и какие были метрики DF в момент падения ?
источник

T

T in Moscow Spark
В чем смысл переписывать на df если переписывать то над брать ds . slowpoke.jpg
источник

N

Nikita Blagodarnyy in Moscow Spark
er@essbase.ru
Скажите а что и как вы тестируете в Спарке для DF ?
 есть ли примеры кода когда тестами покрывается качество данных, результат расчета .
можно ли в самом расчете проверить рухнул ли определенный таск и какие были метрики DF в момент падения ?
Тестируем скала-тестом и тестконтейнерами.
Есть, конечно. Написал ты например функцию, которая df агрегирует row_number-ом, сделал входной детальный датафрейм, скормил его функции, получил схлопнутый, скормил его ассерту-профит.
про метрики это надо в сторону аккумуляторов смотреть.
источник

NN

No Name in Moscow Spark
T
В чем смысл переписывать на df если переписывать то над брать ds . slowpoke.jpg
Мб пайспарк же
источник

T

T in Moscow Spark
No Name
Мб пайспарк же
Ой как больно
источник

e

er@essbase.ru in Moscow Spark
Nikita Blagodarnyy
Тестируем скала-тестом и тестконтейнерами.
Есть, конечно. Написал ты например функцию, которая df агрегирует row_number-ом, сделал входной детальный датафрейм, скормил его функции, получил схлопнутый, скормил его ассерту-профит.
про метрики это надо в сторону аккумуляторов смотреть.
на гите есть примеры подобного похода ?
источник

NN

No Name in Moscow Spark
T
Ой как больно
Да нормально
источник

АР

Андрей Романов... in Moscow Spark
No Name
Мб пайспарк же
источник