我使用spark從數據庫中讀取數據,並將其寫入hdfs作爲parquet文件。這是代碼片段。保存後的Spark數據集計數
private long etlFunction(SparkSession spark){
spark.sqlContext().setConf("spark.sql.parquet.compression.codec", "SNAPPY");
Properties properties = new Properties();
properties.put("driver","oracle.jdbc.driver");
properties.put("fetchSize","5000");
Dataset<Row> dataset = spark.read().jdbc(jdbcUrl, query, properties);
dataset.write.format("parquet」).save("pdfs-path");
return dataset.count();
}
當我看到火花UI,寫在我的下查詢計劃的書面記錄,在SQL選項卡中看到的統計數據。
雖然伯爵本身是一項艱鉅的任務。
有人可以建議以最優化的方式計算最佳方式。
要添加,有解決方案提到重複,涉及使用sparkListener計數。我大量重複使用sparkSession,因此實現起來會更加棘手。
感謝所有..
[Spark:如何獲取寫入行數?]可能重複(http://stackoverflow.com/questions/37496650/spark-how-to-get-the-number-of-written-rows) – 2016-11-05 14:54:29