Size: a a a

2020 April 04

GP

Grigory Pomadchin in Moscow Spark
на скок я помню там просто кодеки скаловые грубо гвооря выводятся экспрешн анкодером
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Grigory Pomadchin
а что ты под кодогеном подращумеваешь?
ну так буквально генерируется джава код из экспрешнов, потом этот дава-код шаблонами сшивается в один файлик. потом компилируется с помощью apache janino
источник

GP

Grigory Pomadchin in Moscow Spark
покажи о чем ты
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Но вероятно это только для wholestage?
источник

GP

Grigory Pomadchin in Moscow Spark
ну тип хол стейдж генерит код для стейджов
источник

GP

Grigory Pomadchin in Moscow Spark
у тебя нода плана будет запуск кода
источник

GP

Grigory Pomadchin in Moscow Spark
поэтому ммм ну кодген в спаркх есть в разных местах но для плана его не будет
источник

GP

Grigory Pomadchin in Moscow Spark
там нечего будет напечатать
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Вероятно да
источник

GP

Grigory Pomadchin in Moscow Spark
там тип када план печатаешь, те ноды что помечены звездочками - для них сгенерился код
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Но код-то всё равно должен генерироваться. тот же серде — ну должен где-то генерироваться
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Во, ключевой узел — это Expression#genCode
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Если я правильно понимаю нет опции через него не пройти
источник

GP

Grigory Pomadchin in Moscow Spark
Паша Финкельштейн
Если я правильно понимаю нет опции через него не пройти
а ты посмотри чо он там генерит
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Да, уже в процессе
источник

GP

Grigory Pomadchin in Moscow Spark
если ты хочешь логинг включить там то можешь включить логгер org.apache.spark.sql.catalyst.expressions.codegen.CodeGenerator
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Но ток что проверил — точно туда попадаем
источник

GP

Grigory Pomadchin in Moscow Spark
Паша Финкельштейн
        dsOf(1, null, 2, 3)
               .map { c(it) }
               .debugCodegen()
               .show()

минимальный воспроизводимый пример
а вот этот код у тебя тупо падает?
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Grigory Pomadchin
а вот этот код у тебя тупо падает?
ну вот с NPE
источник

ПФ

Паша Финкельштейн... in Moscow Spark
в сгенерированном коде, как и ожидается
источник