我输入了以下
的CSV文件123,john,ny,"new-emp-in"
111,rock,sf,"recently,promoted"
100,smith,la,"10.101.0129-name,string"
那我怎么读这个并创建RDD?
com.databricks:spark-csv_2.11:1.5.0支持这个,但我不能使用它。
答案 0 :(得分:1)
在spark 2.0+中,您可以使用SparkSession.read
方法读取多种格式,其中一种格式为csv。使用此方法,您可以执行以下操作:
df = spark.read.csv(filename)
或者对于rdd:
rdd = spark.read.csv(filename).rdd
更新
看过你的评论后,请查看CSV Data Source for Apache Spark 1.x。我相信这是导致将read方法包含在Spark 2.0中的一部分。
答案 1 :(得分:0)
使用旧版本的Spark,您无法直接读取csv。但您可以包含Databrick的csv jar并使用他们的Python API来实现相同的目标。
from pyspark.sql import SQLContext
sqlContext = SQLContext(sc)
df = sqlContext.read.format('com.databricks.spark.csv').options(header='true',
inferschema='true').load('cars.csv')
df.select('year',
'model').write.format('com.databricks.spark.csv').save('newcars.csv')