【发布时间】:2013-03-05 17:08:43
【问题描述】:
我正在摆弄 GAE mapreduce 并且有一个问题:
是否可以只为 mapreduce 中的某个作业更改变量?
我问的原因是:
我的 mapreduce 作业的输入 csv 和输出 csv 应该具有相同的标题行 - 但是,标题行位于输出 csv 中的某个位置,但从不在顶部。为了获得正确的标题行,我在reduce 函数中插入了一个计数器,用于检查reduce 作业的当前迭代,如果它为0,它将把硬编码的标题行传递给管道。当输出 csv 存储在 blobstore 中时,计数器会重置。
问题:计数器通常会随机重置,可能是因为我必须在函数外部将其定义为全局变量“reduce_counter = 0”。
是否有任何方法可以将变量/参数链接到作业,或者是否有更好的方法来获取 header_row?
我认为我不能使用 DictReader 或 csv 模块,因为输出存储在 blobstore 中,据我所知,无法更改 blobstore 对象。
您可以在 main.py 文档中的 www.github.com/jvdheyden/ste 上找到我的代码。
谢谢!
【问题讨论】:
标签: python google-app-engine mapreduce blobstore