我想只用RDD功能选择从CSV文件中的列,在火花不是数据帧。我已经写代码了。
其他一些列有一个空值。
rdd = spark.sparkContext.textFile(filename)
rdd_parc = rdd.map(lambda x: x.split(","))
rdd1 = rdd_parc.map(lambda x: x[6] != "")
但是,这种解决方案似乎也不会选择第6列,但它不是选择地图的元素6。
样本数据:
Lachine,H,0,,,,"SUMMERLEA, PARC",FR,2016,287826.19201900001,5033164.33193000030,-73.7169573579999,45.4382054
Lachine,H,0,,,,"SUMMERLEA, PARC",FR,2016,287826.19201900001,5033164.33193000030,-73.7169573579999,45.4382054
你可以看到,一些值是空的。我想我的答案是
SUMMERLEA, PARC
SUMMERLEA, PARC
做过尝试使用,以转换为首先由RDD
rdd = spark.read.csv(filename, header=True).rdd
然后通过提取第六列
rdd_parc = rdd.map(lambda x: x[6])
您将获得所需的输出