如何使用 spark 将 map-reduce 流到 select N 列,文件夹下所有 csv 文件的前 M 行?
How to use spark for map-reduce flow to select N columns, top M rows of all csv files under a folder?
具体来说,假设我们有一个包含 10k 制表符分隔的 csv 文件的文件夹,这些文件具有以下属性格式(每个 csv 文件大约 10GB):
id name address city...
1 Matt add1 LA...
2 Will add2 LA...
3 Lucy add3 SF...
...
并且我们根据上面的 "name"
进行了查找 table
name gender
Matt M
Lucy F
...
现在我们有兴趣将每个 csv 文件的前 100,000 行输出为以下格式:
id name gender
1 Matt M
...
我们可以使用 pyspark 来有效地处理这个问题吗?
如何并行处理这些 10k 的 csv 文件?
您可以在 python 中执行此操作以利用文件的第一行 1000 行:
top1000 = sc.parallelize("YourFile.csv").map(lambda line : line.split("CsvSeparator")).take(1000)
具体来说,假设我们有一个包含 10k 制表符分隔的 csv 文件的文件夹,这些文件具有以下属性格式(每个 csv 文件大约 10GB):
id name address city...
1 Matt add1 LA...
2 Will add2 LA...
3 Lucy add3 SF...
...
并且我们根据上面的 "name"
进行了查找 tablename gender
Matt M
Lucy F
...
现在我们有兴趣将每个 csv 文件的前 100,000 行输出为以下格式:
id name gender
1 Matt M
...
我们可以使用 pyspark 来有效地处理这个问题吗?
如何并行处理这些 10k 的 csv 文件?
您可以在 python 中执行此操作以利用文件的第一行 1000 行:
top1000 = sc.parallelize("YourFile.csv").map(lambda line : line.split("CsvSeparator")).take(1000)