Python 数据流(PY 2.x SDk)ReadFromPubSub::id\u标签&;时间戳_属性的行为异常
我的apache beam管道(使用Python SDK+DirecRunner进行测试…)正在阅读Pubsub主题 发布的消息和属性如下所示:Python 数据流(PY 2.x SDk)ReadFromPubSub::id\u标签&;时间戳_属性的行为异常,python,google-cloud-dataflow,google-cloud-pubsub,Python,Google Cloud Dataflow,Google Cloud Pubsub,我的apache beam管道(使用Python SDK+DirecRunner进行测试…)正在阅读Pubsub主题 发布的消息和属性如下所示: 消息:[{“col1”:“测试列1”,“col2”:“测试列1”}] 属性:{ 'event_time_v1':str(time.time()), “记录id”:“第1行”, } 我正在使用这个函数。代码/文档提到了id\u标签和timestamp\u属性参数(我相信这些是非常新的添加?!仅在13天前更新了..) 当我使用id\u label为每个
消息:[{“col1”:“测试列1”,“col2”:“测试列1”}]
属性:{
'event_time_v1':str(time.time()),
“记录id”:“第1行”,
}
我正在使用这个函数。代码/文档提到了id\u标签
和timestamp\u属性
参数(我相信这些是非常新的添加?!仅在13天前更新了..)
id\u label
为每个元素分配一个用于重复数据消除的唯一id时,我会得到以下错误:timestamp\u attribute='event\u time\u v1'
时,为了给每个元素分配我自己的时间戳(在消息属性event\u time\u v1
中传递的客户端事件时间),我注意到实际分配给元素的时间戳仍然是消息发布时间event\u time\u v1中经过的时间
我使用下面的DoFn来打印元素的时间戳
class PrintFn(beam.DoFn):
非常感谢您对这一点的解释,我今天也遇到了同样的问题,实际上Jira上存在一个公开问题,即id_标签和时间戳_属性在direct runner中不可用(我从阅读中假设,任何非数据流运行程序都不可用)。在将DataflowRunner指定为运行程序时,我成功地使用了id_标签(还有一些其他问题,但这是由by决定的) Jira问题如下: 因此,目前看来,使用direct runner还不可能做到这一点
print(element, timestamp)
return [element]