Size: a a a

2021 May 24

AS

Alexander Shorin in Moscow Spark
источник

ММ

Максим Мартынов... in Moscow Spark
спасибо
источник

I

Ilya in Moscow Spark
спасибо огромное, помогло
источник

АА

Артем Анистратов... in Moscow Spark
Ребят, могли бы подсказать как сохранять метрики спарка в датафрэйм? В спарк синк такого не нашел
источник
2021 May 25

PL

Pavel L in Moscow Spark
Доброе утро! Тестирую апгрейд Spark-a с 2.4.6 -> Spark 3.1 на k8s и EMR (emr-6.3.0) и столкнулся с тем, что приложение не видит больше Snowflake jdbc driver в момент запуска и чтения данных из Snowflake-а на драйвере в EMR

В conf-e путь к драйверу есть и он корректный - что должно бы гарантировать присутсвие jar-ов как на driver-e так и на executor-ах, но нет

'--conf' 'spark.jars=s3://dev-spark/jars/snowflake-jdbc-3.13.3.jar


Собираю sbt assembly, драйвер Snowflake со стратегией `case PathList("net", "snowflake", _*) => MergeStrategy.first` - в собранном .jare-е все на месте

Проверил classpath на драйвере на момент запуска приложения - там только AWS/emr библиотеки из file:/usr/lib/spark/jars, file:/docker/usr/share/aws/aws-java-sdk/* etc - но нет Snowflake драйвера 🤷  

Трейс самой ошибки

1/05/24 22:17:32 INFO LineBufferedStream: Exception in thread "main" java.lang.RuntimeException: Failed to load class of driverClassName net.snowflake.client.jdbc.SnowflakeDriver
21/05/24 22:17:32 INFO LineBufferedStream:  at com.zaxxer.hikari.HikariConfig.setDriverClassName(HikariConfig.java:323)
21/05/24 22:17:32 INFO LineBufferedStream:  at slick.jdbc.hikaricp.HikariCPJdbcDataSource$.$anonfun$forConfig$3(HikariCPJdbcDataSource.scala:33)
21/05/24 22:17:32 INFO LineBufferedStream:  at slick.jdbc.hikaricp.HikariCPJdbcDataSource$.$anonfun$forConfig$3$adapted(HikariCPJdbcDataSource.scala:33)
21/05/24 22:17:32 INFO LineBufferedStream:  at scala.Option.foreach(Option.scala:407)
21/05/24 22:17:32 INFO LineBufferedStream:  at slick.jdbc.hikaricp.HikariCPJdbcDataSource$.forConfig(HikariCPJdbcDataSource.scala:33)
21/05/24 22:17:32 INFO LineBufferedStream:  at slick.jdbc.hikaricp.HikariCPJdbcDataSource$.forConfig(HikariCPJdbcDataSource.scala:21)
21/05/24 22:17:32 INFO LineBufferedStream:  at slick.jdbc.JdbcDataSource$.forConfig(JdbcDataSource.scala:47)


Может быть кто-то сталкивался с тем, что spark.jars не гарантирует наличие библиотек на driver-е и как решали? Заранее спасибо!
источник

ПФ

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

ПБ

Повелитель Бури... in Moscow Spark
Доброе утро, сон приснился ,что в компании внедерили спарк стриминг , скажите пожалуйста, много подводных камней в поддерже? А то неспокойно стало..
источник

K

KrivdaTheTriewe in Moscow Spark
Как внедряли ?
источник

K

KrivdaTheTriewe in Moscow Spark
Сделали ли метрики , сдела ли старт стоп
источник

С

Сергей in Moscow Spark
всем привет!
подскажите пожалуйста, если у меня в df какая-та колонка имеет только значение null запись в hive таблицу падает, можете подсказать как обойти сохранив значение null ?
источник

ИК

Иван Калининский... in Moscow Spark
Из вопроса непонятно, действительно ли null вызывает падение записи, но можно попробовать вот что:

def setNullableStateForAllColumns(df: DataFrame, nullable: Boolean): DataFrame = {
 df.sqlContext.createDataFrame(df.rdd, StructType(df.schema.map(_.copy(nullable = nullable))))
}
источник

ПФ

Паша Финкельштейн... in Moscow Spark
filter _ != null?
источник

ПФ

Паша Финкельштейн... in Moscow Spark
ну или если это датафрейм то что=то типа fiter(col('x').isNotNull)
источник

АА

Артем Анистратов... in Moscow Spark
У паркета стоит ограничение на null значение, если не ошибаюсь у орка такого ограничения нет
источник

ИК

Иван Калининский... in Moscow Spark
sqlContext - это я что-то старенькое отрыл, меняется на sparkSession без последствий:

def setNullableStateForAllColumns(df: DataFrame, nullable: Boolean): DataFrame = {
 df.sparkSession.createDataFrame(df.rdd, StructType(df.schema.map(_.copy(nullable = nullable))))
}
источник

ИК

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

С

Сергей in Moscow Spark
там вопрос в том, что в процессе формируется df  у которого одна из колонок заполнено только null, и при записи падает с ошибкой что есть ограничение по части parquet
источник

ИК

Иван Калининский... in Moscow Spark
тип данных не указан? Указать явно
источник

С

Сергей in Moscow Spark
то есть явно надо кастануть данную колонку да ?
источник

ИК

Иван Калининский... in Moscow Spark
да, как правило спарк сообщает, что не может записать NullType, при касте эта проблема решается
источник