1
私はこのコードを実行しました。私の質問は関数キャストのデータ型です。どのようにデータセットに含まれるすべての列を同じタイムスタンプのexeceptでキャストできますか?列タイムスタンプ以外のすべての列に関数avgを適用する。 どうもありがとうすべての列に関数を適用するspark
val df = spark.read.option("header",true).option("inferSchema", "true").csv("C:/Users/mhattabi/Desktop/dataTest.csv")
val result=df.withColumn("new_time",((unix_timestamp(col("time")) /300).cast("long") * 300).cast("timestamp"))
result("value").cast("float")//here the first question
val finalresult=result.groupBy("new_time").agg(avg("value")).sort("new_time")//here the second question about avg
finalresult.coalesce(1).write.format("com.databricks.spark.csv").option("header", "true").save("C:/mydata.csv")
キャストするすべての列に 'withColumn'を追加できませんか? 'agg'の中にある' 'avg''と同じくらい多くの' 'avg''は? – Mariusz
@マリウスズデータセットが非常に大きく、多くの列があるという手続きは、列の時間以外のすべての列を取った – user7394882