Size: a a a

2020 September 07

DZ

Dmitry Zuev in Moscow Spark
Иван Калининский
если реализовывать с конкретными типами, то нужно перепроектировать
думаю стоит так поступить
источник

ИК

Иван Калининский... in Moscow Spark
сейчас все на датафреймах, Row - офигенно гибкая структура, все в рантайме (почти )
источник

DZ

Dmitry Zuev in Moscow Spark
Гибкость написанная кровью
источник

DZ

Dmitry Zuev in Moscow Spark
вы же не натравляете свои джобы на рандомные данные?
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Иван Калининский
сейчас все на датафреймах, Row - офигенно гибкая структура, все в рантайме (почти )
но вот udf поверх произвольных типов писать сложновато :)
источник

ИК

Иван Калининский... in Moscow Spark
Dmitry Zuev
вы же не натравляете свои джобы на рандомные данные?
на самом деле нет
источник

ИК

Иван Калининский... in Moscow Spark
не на рандомные))
источник

DZ

Dmitry Zuev in Moscow Spark
ну вот, значит вы знаете что у вас там
источник

DZ

Dmitry Zuev in Moscow Spark
абстрагируйте этот пайплайн от этого T
источник

DZ

Dmitry Zuev in Moscow Spark
сделайте этот T каким нибудь adt
источник

DZ

Dmitry Zuev in Moscow Spark
напишите код от T: Order а как запускать потом подумайте
источник

DZ

Dmitry Zuev in Moscow Spark
вы поймете что в момент запуска скорее всего вы уже знаете что там, и соответсвено в том месте уточните тип
источник

ИК

Иван Калининский... in Moscow Spark
Dmitry Zuev
вы поймете что в момент запуска скорее всего вы уже знаете что там, и соответсвено в том месте уточните тип
звучит разумно, обязательно обдумаю. Спасибо!
источник

DZ

Dmitry Zuev in Moscow Spark
на самый худой конец, заведите поле дискриминатор, которое будет описывать что там за тип. дальше по нему вывести эту сраниловку
источник

DZ

Dmitry Zuev in Moscow Spark
ну это можно и на датафрейме. прост удф от этого параметра, внутри фабрика ваших сравниловок
источник

DZ

Dmitry Zuev in Moscow Spark
но тут компилятор уже не поможет найти ничего
источник

DZ

Dmitry Zuev in Moscow Spark
Dmitry Zuev
на самый худой конец, заведите поле дискриминатор, которое будет описывать что там за тип. дальше по нему вывести эту сраниловку
ну или из выведеной схемы брать, дальше значение передавать в фабрику
источник

А

Алексей in Moscow Spark
bigDF left join smallDF on x >= a and x < b
Может не в тему, но range join можно ускорить
https://rahulpedduri.github.io/2017/10/23/time-range-join.html или
https://docs.databricks.com/delta/join-performance/range-join.html
источник

ИК

Иван Калининский... in Moscow Spark
Алексей
bigDF left join smallDF on x >= a and x < b
Может не в тему, но range join можно ускорить
https://rahulpedduri.github.io/2017/10/23/time-range-join.html или
https://docs.databricks.com/delta/join-performance/range-join.html
Первая ссылка интересная, спасибо, посмотрю подробнее.
Вторая, походу, не подойдёт, это датабриксовская примочка
источник

А

Алексей in Moscow Spark
Иван Калининский
Первая ссылка интересная, спасибо, посмотрю подробнее.
Вторая, походу, не подойдёт, это датабриксовская примочка
Да, вторая из коробки только в бриксе, но вроде логически проще и может получится сделать аналог вручную
источник