Size: a a a

2021 April 01

e

er@essbase.ru in Moscow Spark
Артем Анистратов
Предположу, что на sql стриминг ты никак не завернешь., в то время как в рамках спарка пожалуйста. Да и вообще здесь разговор о двух разных подходах ETL и ELT
про стримминг , да занес в мемо , спасибо )
источник

A

Alex in Moscow Spark
Артем Анистратов
Предположу, что на sql стриминг ты никак не завернешь., в то время как в рамках спарка пожалуйста. Да и вообще здесь разговор о двух разных подходах ETL и ELT
почему нет?

флинк в стриминг на sql умеет
спарк в стриминг на sql умеет
источник

АА

Артем Анистратов... in Moscow Spark
Alex
почему нет?

флинк в стриминг на sql умеет
спарк в стриминг на sql умеет
Я так понял мы обсуждаем голый sql и использование спарка с df. Или здесь про подход low code?
источник

A

Alex in Moscow Spark
Нет, чем лучше df vs sql
В пределах спарка
источник

VS

Vasily Safronov in Moscow Spark
@essbase а у тебя щас sql код где?
источник

VS

Vasily Safronov in Moscow Spark
spark sql или голый?
источник

AK

Alena Korogodova in Moscow Spark
Ilya Slesarev
Только удобочитабельный код. Гораздо удобнее прочитать 200 строк датафреймов, чем сиквела
Если начинается множество преобразований, высчитывание всяких математических вещей, то в сиквеле можно состариться
Гораздо удобнее прочитать 200 строк sql, чем датафреймов. Вопрос привычки)
источник

С

Сюткин in Moscow Spark
Alena Korogodova
Гораздо удобнее прочитать 200 строк sql, чем датафреймов. Вопрос привычки)
И эти 200 строк sql кода будут равны 20 строкам датафрейма
источник

AK

Alena Korogodova in Moscow Spark
Сюткин
И эти 200 строк sql кода будут равны 20 строкам датафрейма
Ты диск экономишь?..
источник

IS

Ilya Slesarev in Moscow Spark
Alena Korogodova
Гораздо удобнее прочитать 200 строк sql, чем датафреймов. Вопрос привычки)
Если это селекты - может удобнее, а если преобразования, джоины, то сомневаюсь)
источник

С

Сюткин in Moscow Spark
Alena Korogodova
Ты диск экономишь?..
20 строк прочитать удобнее чем 200
источник

AK

Alena Korogodova in Moscow Spark
Вопрос привычки.
источник

АА

Артем Анистратов... in Moscow Spark
Ну в таком случае можно сказать, что ты полностью отказываешься и от привилегий ООП и ФП, а ограничиваешься только тем, что дает тебе синтаксис spark sql. И тут еще вопрос, мало использовал spark sql, в рамках него можно вызвать udf?
источник

AK

Alena Korogodova in Moscow Spark
Сюткин
20 строк прочитать удобнее чем 200
И ваще, давай пруфы такого sql, который из 200 строк превращается в 20)
источник

С

Сюткин in Moscow Spark
Alena Korogodova
И ваще, давай пруфы такого sql, который из 200 строк превращается в 20)
источник

АА

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

AK

Alena Korogodova in Moscow Spark
Артем Анистратов
Знаю, что udf зло, но можно ли вообще как либо расширить функционал объявленый в spark sql?
Не зло, если на скале)
источник

С

Сюткин in Moscow Spark
Alena Korogodova
И ваще, давай пруфы такого sql, который из 200 строк превращается в 20)
Я тут cnum как-то год назад переписывал, с sql, ужался код раза в 2.5
источник

С

Сюткин in Moscow Spark
Но это не показатель
источник

VS

Vasily Safronov in Moscow Spark
Alena Korogodova
Гораздо удобнее прочитать 200 строк sql, чем датафреймов. Вопрос привычки)
Ключевое слово "привычки" :))

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

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

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

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

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