从pyspark目录下的文件中仅选择第一行

时间:2017-06-28 12:58:45

标签: apache-spark pyspark

我想使用Pyspark从我尝试使用

的目录下的文件中收集所有第一行
file=sc.wholeTextFiles("Location").map(lambda x: x[0]).collect() 

但是这给了我目录下的文件列表。我想要一些像这样的东西让我说我有两个文件

file1.csv     file2.csv
x,y,z          q,r,s
1,2,3          4,5,6
a,b,c          d,e,f 

我想收集文件{x,y,z}和{q,r,s}的第一行。请帮助我,我怎样才能从目录下的多个文件中获取第一行

1 个答案:

答案 0 :(得分:0)

您可以执行以下操作:

def read_firstline(filename):
    with open(filename, 'rb') as f:
        return f.readline()

# files is a list of filenames
rdd_of_firstlines = sc.parallelize(files).flatMap(read_firstline)