Size: a a a

2021 February 28

G

Gev in Moscow Spark
Паша Финкельштейн
У меня есть два варианта: нормальный типизированный джойн или df.col
Это что?
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Почему не пользоваться типизированными джойнами я вообще не понимаю
источник

G

Gev in Moscow Spark
Что значит таиахарованный. Алиасы прописать?
источник

G

Gev in Moscow Spark
Алиас к таблице при джойне
источник

ПФ

Паша Финкельштейн... in Moscow Spark
ds.as[case class].joinWith(df2.as[csse class 2], ...)
источник

ПФ

Паша Финкельштейн... in Moscow Spark
На выходе из джойна у тебя будет
Dataset[case class 1, case class 2]
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Но я просто не разделяю всеобщей любви к программированию на строках
источник

G

Gev in Moscow Spark
👍
источник

G

Gev in Moscow Spark
Паша Финкельштейн
Но я просто не разделяю всеобщей любви к программированию на строках
Не понял отчем речь
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Почему-то большая часть кода на спарке, который мне видно - это работа с нетипизированным api, а не с классами
источник

NN

No Name in Moscow Spark
Паша Финкельштейн
Почему-то большая часть кода на спарке, который мне видно - это работа с нетипизированным api, а не с классами
Ну это, наверное, не в пуспарке
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Переслано от Паша Финкельштейн...
Но вот если надо на строках - обращайся по dfname.col
источник

G

Gev in Moscow Spark
Паша Финкельштейн
ds.as[case class].joinWith(df2.as[csse class 2], ...)
А если у меня добавятся/удалятся поля в df я д получу фиг
источник

G

Gev in Moscow Spark
В смысле если в паркетниках начнут мне поля миксовать
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Я этот называю "получишь детерминированное поведение и фейл до того как поломаешь таргет"
источник

G

Gev in Moscow Spark
Ну иногда это не савсем фейл. Добавили поля, ну и черт с ними. Как читал то что мне надо так и читаю
источник

ПФ

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

ПФ

Паша Финкельштейн... in Moscow Spark
Ну да, делаешь селект перед as и у тебя продолжает всё корректно работать
источник

A

Alex in Moscow Spark
Паша Финкельштейн
ds.as[case class].joinWith(df2.as[csse class 2], ...)
С as нужно быть очень аккуратным, так как если мне не изменят память то он только вью создаёт на указанный дата класс, но под капотом продолжает таскать все что было

У нас так делали выбор на 50+ полей, потом as с 2 полями и потом удивлялись откуда в шафле потом 100+гб
источник

ПФ

Паша Финкельштейн... in Moscow Spark
А вот если что-то поломают в этих полях ты об этом быстро узнаешь
источник