У меня две практически одинаковые записи в БД. scala, но один из них выдает ошибку, а другой нет, и я не понимаю, как это исправить? Любые идеи ?

Это заявление работает

df_pm_visits_by_site_trn.write.format("jdbc").option("url", db_url_2).option("dbtable", "pm_visits_by_site_trn").option("user", db_user).option("password", db_pwd).option("truncate","true").mode("overwrite").save()

Этот не работает и выдает мне ошибку компиляции

df_trsnss .write.format("jdbc").option("url", db_url_2).option("dbtable", "df_trsnss")               .option("user", db_user).option("password", db_pwd).option("truncate","true").mode("overwrite").save()

_dev.scala: 464: запись значения не является членом org.apache.spark.sql.DataFrameReader [ошибка] df_trsnss.write.format ("jdbc"). option ("url", db_url_2) .option ("dbtable" , "trsnss"). option ("user", db_user) .option ("password", db_pwd) .option ("truncate", "true"). mode ("overwrite"). save ()

Если я удалю свой второй оператор записи или просто закомментирую его, весь код компилируется без ошибок.

1
Andrey 14 Окт 2018 в 23:33

1 ответ

Лучший ответ

Судя по сообщению об ошибке, df_trsnss является DataFrameReader, а не DataFrame. Скорее всего, вы забыли позвонить load.

val df_trsnss = spark.read.format ("csv")

Вместо того

val df_trsnss = spark.read.format ("csv"). load ("...")

5
Silvio 14 Окт 2018 в 21:25