如何从本地获取输入并将其存储到数据框中的本地
How to get the input from local and store it to local in a dataframe
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions.{min, max, avg}
val spark = SparkSession.builder().getOrCreate()
val data = spark.read.option("header","true").format("csv").load("cpid_data.csv")
val equi = data.withColumn("value",col("value").cast("double")).groupBy("id").agg(avg("value"), max("value"), min("value")).show()
在上面的代码中,当我尝试将输出写入 csv 文件时,
equi.write.option("header",true).csv("cpido.csv")
抛出错误,如 write is not a member of unit。
谁能帮我解决这个问题?如何将输出加载到 csv 文件?
错误消息给了你一个强烈的指示:write
is not a member of Unit
意味着没有调用 write
的方法在类型 Unit
.
上
换句话说:equi
属于 Unit
类型,这可能不是您想要的类型。
只需删除对 .show()
的调用即可正常工作:
val equi = data
.withColumn("value",col("value").cast("double"))
.groupBy("id")
.agg(avg("value"), max("value"), min("value"))
equi.write.option("header",true).csv("cpido.csv")
import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions.{min, max, avg}
val spark = SparkSession.builder().getOrCreate()
val data = spark.read.option("header","true").format("csv").load("cpid_data.csv")
val equi = data.withColumn("value",col("value").cast("double")).groupBy("id").agg(avg("value"), max("value"), min("value")).show()
在上面的代码中,当我尝试将输出写入 csv 文件时,
equi.write.option("header",true).csv("cpido.csv")
抛出错误,如 write is not a member of unit。
谁能帮我解决这个问题?如何将输出加载到 csv 文件?
错误消息给了你一个强烈的指示:write
is not a member of Unit
意味着没有调用 write
的方法在类型 Unit
.
换句话说:equi
属于 Unit
类型,这可能不是您想要的类型。
只需删除对 .show()
的调用即可正常工作:
val equi = data
.withColumn("value",col("value").cast("double"))
.groupBy("id")
.agg(avg("value"), max("value"), min("value"))
equi.write.option("header",true).csv("cpido.csv")