У меня две практически одинаковые записи в БД. 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 ответ
Судя по сообщению об ошибке, df_trsnss
является DataFrameReader, а не DataFrame. Скорее всего, вы забыли позвонить load
.
val df_trsnss = spark.read.format ("csv")
Вместо того
val df_trsnss = spark.read.format ("csv"). load ("...")
Похожие вопросы
Новые вопросы
scala
Scala - это язык программирования общего назначения, в основном предназначенный для виртуальной машины Java. Разработанный для краткого, элегантного и безопасного для типов представления общих шаблонов программирования, он сочетает в себе как императивный, так и функциональный стили программирования. Его ключевые особенности: продвинутая система статического типа с выводом типа; типы функций; сопоставления с образцом ; неявные параметры и преобразования; перегрузка оператора; полная совместимость с Java; совпадение