我正在摆弄 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上找到我的代码。
谢谢!