gpt4 book ai didi

scala - 写入 csv 文件 spark 时时间戳会更改格式

转载 作者:行者123 更新时间:2023-12-01 01:53:22 25 4
gpt4 key购买 nike

我正在尝试将数据帧保存到包含时间戳的 csv 文件中。
此列更改格式一写入csv文件的问题。这是我使用的代码:

    val spark = SparkSession.builder.master("local").appName("my-spark-app").getOrCreate()

val df = spark.read.option("header",true).option("inferSchema", "true").csv("C:/Users/mhattabi/Desktop/dataTest2.csv")
//val df = spark.read.option("header",true).option("inferSchema", "true").csv("C:\\dataSet.csv\\datasetTest.csv")
//convert all column to numeric value in order to apply aggregation function
df.columns.map { c =>df.withColumn(c, col(c).cast("int")) }
//add a new column inluding the new timestamp column
val result2=df.withColumn("new_time",((unix_timestamp(col("time"))/300).cast("long") * 300).cast("timestamp")).drop("time")
val finalresult=result2.groupBy("new_time").agg(result2.drop("new_time").columns.map((_ -> "mean")).toMap).sort("new_time") //agg(avg(all columns..)
finalresult.coalesce(1).write.option("header",true).option("inferSchema","true").csv("C:/mydata.csv")
当通过 df.show 显示时,它会显示正确的格式 enter image description here
但在 csv 文件中,它采用这种格式:
enter image description here

最佳答案

使用选项将时间戳格式化为所需的时间戳:

finalresult.coalesce(1).write.option("header",true).option("inferSchema","true").option("dateFormat", "yyyy-MM-dd HH:mm:ss").csv("C:/mydata.csv")

或者
finalresult.coalesce(1).write.format("csv").option("delimiter", "\t").option("header",true).option("inferSchema","true").option("dateFormat", "yyyy-MM-dd HH:mm:ss").option("escape", "\\").save("C:/mydata.csv")

关于scala - 写入 csv 文件 spark 时时间戳会更改格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42550432/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com