Scala 错误:值拆分不是Char的成员
导入spark.implicits_Scala 错误:值拆分不是Char的成员,scala,apache-spark,Scala,Apache Spark,导入spark.implicits_ case class x(Data_time_Occured:String,Duplicate_Count:Int,Message:String) val Final_df1=Final_df.map(_.split(",")).map(x=> (x(0).trim.toString,x(1).trim.toInt,x(2).trim.toString)).toDF("Data_time_Occured","Duplicate_Count","Mes
case class x(Data_time_Occured:String,Duplicate_Count:Int,Message:String)
val Final_df1=Final_df.map(_.split(",")).map(x=> (x(0).trim.toString,x(1).trim.toInt,x(2).trim.toString)).toDF("Data_time_Occured","Duplicate_Count","Message")
===最终的_DF中的值是===:Final_df:String=13/4/2020,0
Sql表中未加载重复记录。请继续监视加载情况。您正在对单个字符串值应用映射操作,然后对其应用拆分。映射操作将此字符串转换为单个字符,然后您尝试对单个字符应用拆分选项,这就是为什么会出现此错误 如果您想在逗号的基础上拆分此字符串,下面是您可以执行此操作的方法
val Final_df1 = Final_df.split(",")
这将解决您的错误,然后您可以根据需要应用您的转换以向前推进
如果这能解决您的问题,请接受答案。可以将“Final_df”类型更改为:
val originalString = "Data_time_Occured1,4,Message1"
val Final_df = Seq(originalString)
Final_df.map(_.split(",")).map(x => (x(0).trim.toString, x(1).trim.toInt, x(2).trim.toString)).toDF("Data_time_Occured", "Duplicate_Count", "Message")
感谢您的回复,我尝试基于逗号拆分该字符串,我尝试创建带有3个标题的数据框来存储拆分后的值。当我尝试创建数据框时,仍然会出错。PFB!! val Final\u df1=Final\u df.split(“,”).toDF(“数据发生时间”、“重复计数”、“消息”)错误:值toDF不是数组的成员[String]val Final\u df1=Final\u df.split(“,”).toDF(“数据发生时间”、“重复计数”、“消息”)像帕夏那样做suggested@manoj:如果解决了您的问题,请接受答案,或者发布您现在面临的问题。final\u df2.write.mode(“覆盖”).saveAsTable(“表1”) 错误:值写入不是单元Final_df2的成员。write.mode(“覆盖”)。saveAsTable(“table1”)已工作:),非常感谢Pasha,如果有任何进一步的帮助,我会让你们知道:)