gpt4 book ai didi

python - 光束/数据流 Python : AttributeError: '_UnwindowedValues' object has no attribute 'sort'

转载 作者:太空狗 更新时间:2023-10-30 02:40:40 24 4
gpt4 key购买 nike

我正在使用 Apache Beam 的 Python SDK 开发一个在 Google Cloud Dataflow 上运行的工作流程。

在本地运行时,工作流成功完成且没有错误,并且数据输出完全符合预期。

当我尝试在 Dataflow 服务上运行时,它会抛出以下错误:AttributeError: '_UnwindowedValues' 对象没有属性 'sort'

它来自以下一段代码:

class OrderByDate(beam.DoFn):
def process(self, context):
(k, v) = context.element
v.sort(key=operator.itemgetter('date'))
return [(k, v)]

这是使用标准的 beam.ParDo 调用的,如下所示:

'order_by_dates' >> beam.ParDo(OrderByDate())

(k, v) 元组中的数据如下例所示:

('SOME CODE', {'date':'2017-01-01', 'value':1, 'date':'2016-12-14', 'value':4}) 

v 是日期和值的对象

我试过切换到标准的 lambda 函数也抛出同样的错误。

知道为什么这在本地运行与在 Dataflow 上运行不同吗?或建议的解决方法。

最佳答案

找到了一个解决方案,我需要在进行排序之前专门将 v 转换为列表 list(v),这很有效。

奇怪运行本地与远程之间的区别。

关于python - 光束/数据流 Python : AttributeError: '_UnwindowedValues' object has no attribute 'sort' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41892701/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com