使用pyspark基于日期列拆分部分文件

时间:2018-03-28 04:54:54

标签: python pyspark

我有200个csv部分文件,从2012年到2018年按年份分隔。我还希望使用{{1}基于日期列分隔csv个文件}。想知道一种有效的方法,因为pyspark将包含数百万行。

我目前的做法是 - 将2012年的所有csv个文件读入数据帧 - 然后对于所有,365天我遍历上面的数据帧,然后按日期将内容写入csv。

有没有其他有效的方法来实现这个pyspark。

我已将样本数据放在下面:

csv

我需要将这些数据写入3个单独的csv文件,其中包含2012-01-01,2012-04-05和2012-05-09的数据

1 个答案:

答案 0 :(得分:0)

样本数据中有3个日期 - 01-01,04-05,05-09

.when('/goods/publish/:classId', option)

创建一个键值对,键为日期

def fn(dt):
  return hash(dt)

为密钥生成哈希并将其传递给partitionBy

rdd = sc.textFile('path/your_file.txt',3).map(lambda r: r.split('|')).map(lambda r: (r[1],r))

您现在应该看到3个部分文件,每个文件都有特定的日期。