0
データフレーム内の定数である列を削除したいのですが、ここでは何をしましたか?データフレームをCSVファイルに書き込むときに特別な作業が必要です、コードを最適化して時間を短縮する助けをお願いします。定数列をcsvファイルにドロップする
val spark = SparkSession.builder.master("local").appName("my-spark-app").getOrCreate()
val df = spark.read.option("inferSchema", "true").option("header", "false").csv("D:\\ProcessDataSet\\anis_data\\Set _1Mud Pumps_Merged.csv")
val aggregations = df.drop("DateTime").columns.map(c => stddev("c").as(c))
val df2 = df.agg(aggregations.head, aggregations.tail: _*)
val columnsToKeep: Seq[String] = (df2.first match {
case r : Row => r.toSeq.toArray.map(_.asInstanceOf[Double])
}).zip(df.columns)
.filter(_._1 != 0) // your special condition is in the filter
.map(_._2) // keep just the name of the column
// select columns with stddev != 0
val finalResult = df.select(columnsToKeep.head, columnsToKeep.tail : _*)
finalResult.write.option("header",true).csv("D:\\ProcessDataSet\\dataWithoutConstant\\Set _1Mud Pumps_MergedCleaned.csv")
}
実際には、どのくらいの時間、それは、CSVファイルを書き込むことがかかりますか? あなたの入力データのサイズは? –
@ L.CWIファイルは1.4ギガで、csv .itに書き込むのに5分かかりました。計算に要した時間と比較するのにかなり時間がかかっていましたが、何か提案がありましたか?ありがとう – user3637823
@ L.CWI助けてくださいcsvファイルにデータフレームを保存する最速の方法 – user3637823