当前位置:   article > 正文

Spark:写入CSV文件

spark写入csv文件

几周前,我写了我是如何使用Spark探索芝加哥市犯罪数据集的 ,并得出了每起犯罪的数量,我想将其写入CSV文件。

Spark提供了一个saveAsTextFile函数,该函数允许我们保存RDD的代码,因此我将代码重构为以下格式,以允许我使用它:

  1. import au.com.bytecode.opencsv.CSVParser
  2. import org.apache.spark.rdd.RDD
  3. import org.apache.spark.SparkContext._
  4.  
  5. def dropHeader(data: RDD[String]): RDD[String] = {
  6. data.mapPartitionsWithIndex((idx, lines) => {
  7. if (idx == 0) {
  8. lines.drop(1)
  9. }
  10. lines
  11. })
  12. }
  13.  
  14. // https://data.cityofchicago.org/Public-Safety/Crimes-2001-to-present/ijzp-q8t2
  15. val crimeFile = "/Users/markneedham/Downloads/Crimes_-_2001_to_present.csv"
  16.  
  17. val crimeData = sc.textFile(crimeFile).cache()
  18. val withoutHeader: RDD[String] = dropHeader(crimeData)
  19.  
  20. val file = "/tmp/primaryTypes.csv"
  21. FileUtil.fullyDelete(new File(file))
  22.  
  23. val partitions: RDD[(String, Int)] = withoutHeader.mapPartitions(lines => {
  24. val parser = new CSVParser(',')
  25. lines.map(line => {
  26. val columns = parser.parseLine(line)
  27. (columns(5), 1)
  28. })
  29. })
  30.  
  31. val c
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/609220
推荐阅读
相关标签
  

闽ICP备14008679号