Size: a a a

2019 September 13

ПФ

Паша Финкельштейн in Data Engineers
То что у тебя в хелпере написано - секрет?
источник

ПФ

Паша Финкельштейн in Data Engineers
Который generateRow
источник

RI

Rustam Iksanov in Data Engineers
тут, я не уверен, что код могу полностью показать. Но падает на строке
val df = spark.sqlContext.read.parquet(s"/path/to/parquet")
источник

ПФ

Паша Финкельштейн in Data Engineers
Ты там с сессией ничего не делаешь?
источник

RI

Rustam Iksanov in Data Engineers
я так понимаю, что не передается sparkSession внутрь rdd
источник

RI

Rustam Iksanov in Data Engineers
нет
источник

RI

Rustam Iksanov in Data Engineers
Rustam Iksanov
Чуть позже, если понадобится. Я кажется, смог найти проблему. У меня DStream[case class] после чтения из кафки. Я на нем вызываю foreachRDD{rdd => if(!red.isEmpty)
rdd.foreach(f: A => unit)
}
Внутри f есть использование sparkSession для чтения паркетов. Кажется этот момент вызывает NPE
код как вызываю описал уже
источник

ПФ

Паша Финкельштейн in Data Engineers
А почему там sqlContext?
источник

ПФ

Паша Финкельштейн in Data Engineers
По бизнесу надо?
источник

RI

Rustam Iksanov in Data Engineers
Паша Финкельштейн
По бизнесу надо?
Нет. Не думаю.
источник

ПФ

Паша Финкельштейн in Data Engineers
А вот если ради интереса попробовать его убрать?
источник

ПФ

Паша Финкельштейн in Data Engineers
Читать же и без него можно?
источник

RI

Rustam Iksanov in Data Engineers
Паша Финкельштейн
Читать же и без него можно?
Сейчас попробую
источник

RI

Rustam Iksanov in Data Engineers
Паша Финкельштейн
А вот если ради интереса попробовать его убрать?
Убрал sqlContext + убрал    val ss = SparkSession.builder.config(rdd.sparkContext.getConf).getOrCreate(), который генерировал ss внутри rdd. Падает с ошибкой
org.apache.spark.SparkException: A master URL must be set in your configuration
 at org.apache.spark.SparkContext.<init>(SparkContext.scala:367)
 at org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2493)
 at org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:934)
 at org.apache.spark.sql.SparkSession$Builder$$anonfun$7.apply(SparkSession.scala:925)
 at scala.Option.getOrElse(Option.scala:121)
 at org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:925)
 at org.apache.spark.ml.util.BaseReadWrite$class.sparkSession(ReadWrite.scala:74)
 at org.apache.spark.ml.util.MLReader.sparkSession(ReadWrite.scala:193)
 at org.apache.spark.ml.util.BaseReadWrite$class.sc(ReadWrite.scala:85)
 at org.apache.spark.ml.util.MLReader.sc(ReadWrite.scala:193)
 at org.apache.spark.ml.PipelineModel$PipelineModelReader.load(Pipeline.scala:410)
 at org.apache.spark.ml.PipelineModel$PipelineModelReader.load(Pipeline.scala:404)
 at ru.model.ModelApplication$$anonfun$6$$anonfun$apply$2.apply(ModelApplication.scala:143)

на коде val model     = PipelineModel.read.load(modelPath), перед функцией генерации
источник

t

tenKe in Data Engineers
мастер юрл маст би сет ин ер конфигурейшен
источник

RI

Rustam Iksanov in Data Engineers
tenKe
мастер юрл маст би сет ин ер конфигурейшен
в том то и дело, что он есть.
источник

AC

Alexander Chermenin in Data Engineers
забери контекст из RDD и используй его для чтения всего остального
источник

RI

Rustam Iksanov in Data Engineers
Alexander Chermenin
забери контекст из RDD и используй его для чтения всего остального
так val sparkSession: SparkSession = SparkSession.builder.config(rdd.context.getConf).getOrCreate()?
источник

AC

Alexander Chermenin in Data Engineers
rdd.context
а из него создать sqlContext и читать
источник

GP

Grigory Pomadchin in Data Engineers
Rustam Iksanov
тут, я не уверен, что код могу полностью показать. Но падает на строке
val df = spark.sqlContext.read.parquet(s"/path/to/parquet")
а где ты колл делаешь этот?
источник