Apache spark 仅从pyspark目录下的文件中选择第一行
我想使用我尝试使用的Pyspark从目录下的文件中收集所有第一行Apache spark 仅从pyspark目录下的文件中选择第一行,apache-spark,pyspark,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}的第一行。请
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}的第一行。请帮助我,如何仅从目录下的多个文件中获取第一行您可以执行以下操作:
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)
您可以执行以下操作:
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)
我怀疑您可能想要分组-但您可能首先希望通过添加可复制的示例,特别是输入和预期输出数据的样本来细化此问题。我怀疑您可能希望分组-但您可能首先希望通过添加可复制的示例,特别是输入和预期输出数据的样本来细化此问题输出数据。