为什么Spark会失败并显示“值写入不是org.apache.spark.sql.DataFrameReader [错误]的成员”?

时间:2018-10-14 20:33:34

标签: scala apache-spark apache-spark-sql

我有两个几乎相同的写入db。斯卡拉声明,但是一个人给我一个错误,另一个却不给我,我不知道如何解决?有任何想法吗 ?

此语句有效

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(“密码”,   db_pwd).option(“ truncate”,“ true”)。mode(“ overwrite”)。save()

如果我删除第二条写语句或只是将其注释掉,则整个代码正在编译且没有错误。

1 个答案:

答案 0 :(得分:4)

根据错误消息,df_trsnss是一个DataFrameReader,而不是DataFrame。您可能忘记了致电load

  

val df_trsnss = spark.read.format(“ csv”)

代替

  

val df_trsnss = spark.read.format(“ csv”)。load(“ ...”)