Size: a a a

2021 April 01

IS

Ilya Slesarev in Moscow Spark
Rodion
Не совсем такой же, все же с минимальными различиями
Например?
источник

R

Rodion in Moscow Spark
Артем Анистратов
Знаю, что udf зло, но можно ли вообще как либо расширить функционал объявленый в spark sql?
Можно юдф использовать в скл, для этого её надо зарегистрировать
источник

R

Rodion in Moscow Spark
Ilya Slesarev
Например?
Из последнего что помню, при записи разные права на чтение
источник

АА

Артем Анистратов... in Moscow Spark
Rodion
Можно юдф использовать в скл, для этого её надо зарегистрировать
Понял.
источник

IS

Ilya Slesarev in Moscow Spark
Rodion
Из последнего что помню, при записи разные права на чтение
Не очень понимаю о чем ты
Разные права на чтение для кого?
источник

R

Rodion in Moscow Spark
Ilya Slesarev
Не очень понимаю о чем ты
Разные права на чтение для кого?
Извиняюсь, разные права на запись
источник

VS

Vasily Safronov in Moscow Spark
Alena Korogodova
С трудом. Но дорабатывали 😅 а потом на промежуточные таблички нарезали. На оракле дело было.
вот и у меня был выбор, либо oracle-way либо df
источник

VS

Vasily Safronov in Moscow Spark
даже с учетом необходимости поднимать с нуля инфраструктуру выбор очевиден)
источник

AK

Alena Korogodova in Moscow Spark
Экстремистская тема какая-то
источник

VS

Vasily Safronov in Moscow Spark
Alena Korogodova
Экстремистская тема какая-то
почему, на проекте витрины из 5000 строк, никто не выжил? 😂
источник

AK

Alena Korogodova in Moscow Spark
Vasily Safronov
почему, на проекте витрины из 5000 строк, никто не выжил? 😂
🤣 а я и правда не знаю, живо ли оно вообще ещё, вряд ли)) 7 лет назад свалила
источник

PK

Pavel Klemenkov in Moscow Spark
Всем привет. Вот такой вопрос. В RDD есть понятие known partitioner. И в джойнах одинаковые известные партишенеры не приводят к пересылкам. Но я никак не помогу понять, работает ли эта терминология для датафреймов? Поэкспериментировав понимаю, что вроде бы нет, Exchange оператору как будто бы плевать на это дело и опять же неясно, как вообще можно сравнить партишенеры двух датафреймов
источник

e

er@essbase.ru in Moscow Spark
Vasily Safronov
Ключевое слово "привычки" :))

Мой кейс:
под задачи BI в компании накатал за пару дней витринку, ничего сложного: простые агрегации, конвертация валют и с десяток простых бизнесовых метрик.

Тема настолько зашла, что в течение следующих 1.5 месяцев ко мне почти каждый день приходили и просили добавить "всего лишь ещё один" расчётный показатель. В итоге sql-код стал простынкой из >500 строк, и не смотря на то, что я старался соблюдать принципы модульности с кучей with () as, никто кроме меня и ребят из моей команды, которые приложили руку, разобраться в нём, не то чтобы не может, а просто не хочет.

Пример: понадобилось добавить расчёт кумулятивной суммы метрики. В df это можно сделать просто поменяв sum на cumsum. В sql не так, нужно извращаться. Попробовав наиболее распространённый рецепт - получили падение производительности на 2 порядка. План запроса для такой простыни, как вы понимаете отдаёт другую нечитаемую простыню. На просьбу к нашему dba-щику помочь, он посмотрел на нашу простыню, перекрестился и теперь просто обходит нас стороной.

Каждая новая мелкая доработка стала очень дорогой и стрёмной, почти всегда ломающей, то что уже работало. Продебажить классическими средствами нельзя. Юнит-тестов нет, потому что нет юнитов, короче кошмар.

В итоге застопил все тикеты на доработку и медитативно переписываем всё на df
ага , принял )
источник

A

Alex in Moscow Spark
Pavel Klemenkov
Всем привет. Вот такой вопрос. В RDD есть понятие known partitioner. И в джойнах одинаковые известные партишенеры не приводят к пересылкам. Но я никак не помогу понять, работает ли эта терминология для датафреймов? Поэкспериментировав понимаю, что вроде бы нет, Exchange оператору как будто бы плевать на это дело и опять же неясно, как вообще можно сравнить партишенеры двух датафреймов
вопрос про пересылку или про репартишининг/шафлинг ?

партишинеры могут быть одинаковый и тогда шафл вроде как не должен быть
для датафреймов тоже много чего подвозили в 3.1 особенно
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Vasily Safronov
Ключевое слово "привычки" :))

Мой кейс:
под задачи BI в компании накатал за пару дней витринку, ничего сложного: простые агрегации, конвертация валют и с десяток простых бизнесовых метрик.

Тема настолько зашла, что в течение следующих 1.5 месяцев ко мне почти каждый день приходили и просили добавить "всего лишь ещё один" расчётный показатель. В итоге sql-код стал простынкой из >500 строк, и не смотря на то, что я старался соблюдать принципы модульности с кучей with () as, никто кроме меня и ребят из моей команды, которые приложили руку, разобраться в нём, не то чтобы не может, а просто не хочет.

Пример: понадобилось добавить расчёт кумулятивной суммы метрики. В df это можно сделать просто поменяв sum на cumsum. В sql не так, нужно извращаться. Попробовав наиболее распространённый рецепт - получили падение производительности на 2 порядка. План запроса для такой простыни, как вы понимаете отдаёт другую нечитаемую простыню. На просьбу к нашему dba-щику помочь, он посмотрел на нашу простыню, перекрестился и теперь просто обходит нас стороной.

Каждая новая мелкая доработка стала очень дорогой и стрёмной, почти всегда ломающей, то что уже работало. Продебажить классическими средствами нельзя. Юнит-тестов нет, потому что нет юнитов, короче кошмар.

В итоге застопил все тикеты на доработку и медитативно переписываем всё на df
К счастью, каждый CTE достаточно просто вынести в отдельный метод и его протестировать.
источник

A

Alex in Moscow Spark
источник

A

Alex in Moscow Spark
источник

A

Alex in Moscow Spark
один из тасков, как раз что вы спрашивали
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Читаешь и удивляешься как это вообщбе раньше работало
источник

A

Alex in Moscow Spark
оно ведь не вопрос “как работало”, а в том “как быстро это работало”
источник