Size: a a a

2020 July 07

DG

Denis Gabaydulin in Moscow Spark
Pavel Klemenkov
Заметьте, кстати, что в яндексе, после ухода императора, снова стали пилить подстольные спарки
Теперь "спарки" не подпольные, а оффициальные!
источник

K

KGM in Moscow Spark
Друзья, здравствуйте)

Есть ли какие-нибудь best practice по "развертке" wrapped array?

К примеру, есть такой датафрейм со следующей схемой

|-- field_1: string (nullable = true)
|-- field_2: string (nullable = true)
|-- field_3: struct (nullable = true)
|    |-- field_3_1: array (nullable = true)
|    |    |-- element: struct (containsNull = true)
|    |    |    |-- field_3_1_1: string (nullable = true)
|    |    |    |-- field_3_1_2: string (nullable = true)
|    |    |    |-- field_3_1_3: long (nullable = true)
|    |    |    |-- field_3_1_4: struct (nullable = true)
|    |    |    |    |-- field_3_1_4_1: array (nullable = true)
|    |    |    |    |    |-- element: struct (containsNull = true)
|    |    |    |    |    |    |-- field_3_1_4_1_1: string (nullable = true)
|    |    |    |    |    |    |-- field_3_1_4_1_2: string (nullable = true)
|    |    |    |    |    |    |-- field_3_1_4_1_3: long (nullable = true)
|    |    |    |    |    |    |-- field_3_1_4_1_4: struct (nullable = true)

Может быть, что в field_3_1_4_1 будет еще одна вложенность

Сталкивался ли кто с подобным?
источник

ПФ

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

ПФ

Паша Финкельштейн... in Moscow Spark
Там же тип есть, так?
источник

K

KGM in Moscow Spark
Да, верно
источник

ПФ

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

K

KGM in Moscow Spark
Их жутко много — порядка 10 вложенностей с N возможных вложенностей внутри)
источник

ЕГ

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

K

KGM in Moscow Spark
Паша Финкельштейн
Если тип известен — то что мешает делать explode пока структура не станет плоской?
Вопрос, наверное, в следующем: ок ли так и делать?)
источник

ПФ

Паша Финкельштейн... in Moscow Spark
KGM
Вопрос, наверное, в следующем: ок ли так и делать?)
ну ариантов-то не так много — либо в колонки, либо эксплоудить
источник

K

KGM in Moscow Spark
Спасибо всем)
источник

AS

Andrey Smirnov in Moscow Spark
KGM
Их жутко много — порядка 10 вложенностей с N возможных вложенностей внутри)
Так если у вас уже есть тип, case class, то может проще передавать в udf и брать нужные поля?
источник

ПФ

Паша Финкельштейн... in Moscow Spark
собственно просто использовать нормальные типихированные датасеты и преобразовывать данные так, как удобно
источник
2020 July 08

G

Gev in Moscow Spark
Народ, поскажите, скорее всего стандартная ситуация но не могу найти как ее решить.
Я пару раз запустил spark-submit с —jars. Потом эти jars пересобрал (нашел ошибки) но после повторного запуска spark-submit он цепляет “старые версии” этих jars
Как это победить? Как заставить spark-submit цеплять ВСЕГДА новые jars?
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Gev
Народ, поскажите, скорее всего стандартная ситуация но не могу найти как ее решить.
Я пару раз запустил spark-submit с —jars. Потом эти jars пересобрал (нашел ошибки) но после повторного запуска spark-submit он цепляет “старые версии” этих jars
Как это победить? Как заставить spark-submit цеплять ВСЕГДА новые jars?
вообще самое простое — это fat jar собрать. Не вариант?
источник

ПФ

Паша Финкельштейн... in Moscow Spark
в jars локальные пути? Имена файлов после пересборки поменялись?
источник

G

Gev in Moscow Spark
Ну да, самое простое - согласен. Но мы сейчас пошли по пути - разбить логику на библиотеки
jars лежат в hdfs
имена НЕ поменялись
источник

ПФ

Паша Финкельштейн... in Moscow Spark
Gev
Ну да, самое простое - согласен. Но мы сейчас пошли по пути - разбить логику на библиотеки
jars лежат в hdfs
имена НЕ поменялись
To make Spark runtime jars accessible from YARN side, you can specify spark.yarn.archive or spark.yarn.jars. For details please refer to Spark Properties. If neither spark.yarn.archive nor spark.yarn.jars is specified, Spark will create a zip file with all jars under $SPARK_HOME/jars and upload it to the distributed cache.
источник

ПФ

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

ПФ

Паша Финкельштейн... in Moscow Spark
Потому что distributed cache
источник