【发布时间】:2017-03-18 15:12:57
【问题描述】:
我正在寻找一种将函数应用于多个 rdds 的方法(rdd:弹性分布式数据集)。我正在使用 PySpark,我必须通过对所有原始数据集应用相同的函数来获得 6 个新的 rdd。我有这样的事情:
def define_CohortPeriods(d_date):
do something
return something
if __name__ == '__main__':
try:
first_OrderPeriod = define_CohortPeriods(d_date = '2016-10-19')
second_OrderPeriod = define_CohortPeriods(d_date = '2016-10-20')
third_OrderPeriod = define_CohortPeriods(d_date = '2016-10-21')
fourth_OrderPeriod = define_CohortPeriods(d_date = '2016-10-22')
fifth_OrderPeriod = define_CohortPeriods(d_date = '2016-10-23')
sixth_OrderPeriod = define_CohortPeriods(d_date = '2016-10-24')
except ValueError:
print "Error"
我只想为我的代码提供两个参数,例如第一个日期和最后一个日期,然后执行以下操作:
from datetime import date, timedelta as td
first_date = datetime.datetime.strptime('2016-10-19', '%Y-%m-%d')
last_date = datetime.datetime.strptime('2016-10-24', '%Y-%m-%d')
deltaDate = last_date - first_date
for i in range(deltaDate.days + 1):
print d1 + td(days=i)
给出:
2016-10-19 00:00:00
2016-10-20 00:00:00
2016-10-21 00:00:00
2016-10-22 00:00:00
2016-10-23 00:00:00
2016-10-24 00:00:00
最后,遍历这个日期列表,将每个日期关联到 d_date,并分别获得我的预期输出:first_OrderPeriod、second_OrderPeriod、third_OrderPeriod 等。
最有效的方法是什么?谢谢!
【问题讨论】:
标签: python python-2.7 list loops oop