Size: a a a

2021 September 28

N

Nikita Blagodarnyy in Moscow Spark
да ты не вкуриваешь. в 1 приложении надо 3 датафрейма. коллега видимо хочет их получение обмазать билдерами зачем-то
источник

ЕГ

Евгений Глотов... in Moscow Spark
А, типа распилить единую колбасу трансформов?
источник

TL

Tim Lyahor in Moscow Spark
Не то что бы не нравится. Я пытаюсь понять как сейчас делают.
Но есть определенный bias из опыта java.

Сорри за псевдо Java\Scala:

@Component
public class Df1 {
 
  @Source("hdfsPath")
  public Dataframe mapDf(sourceDf) {
       return sourceDf
        .select ....
       .where ....
}
}

@Component
public class Df2 {
 
  @Source("df1")
  public Dataframe mapDf(sourceDf) {
       return sourceDf
        .select ....
       .where ....
}
}
источник

ЕГ

Евгений Глотов... in Moscow Spark
Есть варик тогда более элегантный - имплисит классы с вашими трансформациями, чтоб писать:
df
.myTransform1()
.myTransform2()
.vasyasTransform5()
.write
...
источник

ЕГ

Евгений Глотов... in Moscow Spark
Делают миллиардом разных способов, каждый своим, единого подхода нет
источник

N

Nikita Blagodarnyy in Moscow Spark
Ну имхо это бессмысленный бойлерплейт, запутывающий структуру приложения.
источник

TL

Tim Lyahor in Moscow Spark
Я не говорю что хочу именно так, скорее пытаюсь узнать как делают)
Как делать лучше)
И как не надо делать)
И есть ли дополнительные фреймворки которые поверх спарка заставляют придерживаться какой то архитектуры (если да, насколько широко их используют)
источник

ЕГ

Евгений Глотов... in Moscow Spark
Ну вот Серёжа скинул пример фреймворка)
источник

N

Nikita Blagodarnyy in Moscow Spark
Кто вам hdfs path то забиндит? DI контейнера то нету.
источник

TL

Tim Lyahor in Moscow Spark
То есть мне Spring говорит - пиши компоненты, дай контейнеру их связать автоматически.
Не пиши new, не пиши сам main
источник

TL

Tim Lyahor in Moscow Spark
А это один из вопросов был. Есть ли и используется ли что то похожее
источник

ЕГ

Евгений Глотов... in Moscow Spark
А вообще "поверх спарка" - это плохой подход
Иногда спарка недостаточно, нужно подтягивать другие компоненты
источник

ИК

Иван Калининский... in Moscow Spark
используют редко, в основном пишут свои обёртки по необходимости
источник

TL

Tim Lyahor in Moscow Spark
И вопрос есть ли что то в инфраструктуре спарка, что будет рекомендовать мне какую то архитектуру
источник

ЕГ

Евгений Глотов... in Moscow Spark
Так что надо делать зонтичный етл-фреймворк с ридерами, трансформами и райтерами
источник

ЕГ

Евгений Глотов... in Moscow Spark
У спарка нет инфраструктуры как таковой
источник

ЕГ

Евгений Глотов... in Moscow Spark
Создал сессию и делай чё хочешь вообще
источник

N

Nikita Blagodarnyy in Moscow Spark
Ну если спринг в спарк тащить, можно сразу в клинику неврозов ложиться, на отделение рантайм ошибок.
источник

SS

Sergey Sheremeta in Moscow Spark
> vasyasTransform5

Женя, я твой фанат!!! )))
источник

TL

Tim Lyahor in Moscow Spark
😂
источник