我的代碼是這樣的
scala> val r1 = sc.textFile("D:/item.csv").map(x => x.split(",")).map(x => List(
x(0),x(1),x(2),x(3),x(4),x(5)).toArray).mapPartitions{x => val stringWriter = ne
w StringWriter(); val csvWriter = new CSVWriter(stringWriter); csvWriter.writeAl
l(x.toList); Iterator(stringWriter.toString)}.saveAsTextFile("D:/result/r1")
uj5u.com熱心網友回復:
補充:1,這是Windows上的
2,請問可以直接保存成一個CSV檔案嗎?
uj5u.com熱心網友回復:
自己再頂一下uj5u.com熱心網友回復:
你應該用SparkSQL的SQLContext(2.0+為SparkSession)讀取csv,然后用SQL select你要的列,然后write.csv就可以了uj5u.com熱心網友回復:
val sspbidSchema = StructType(Array(StructField("req_id", StringType, true),
StructField("creative_id", StringType, true),
StructField("group_id", StringType, true),
StructField("user_ip", StringType, true)))
val df = spark.read.schema(sspbidSchema).csv("ddd").select("req_id").write.csv("ddd")
我用的是2.0
uj5u.com熱心網友回復:
我試了試,這樣只能提取連續的前幾列,能不能提取不連續的列呢?轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/58941.html
標籤:Spark
