我想将时间戳设置为无限制的字符串
在我的解决方案中,pcollection的每一行都是一行csv
该行的一个字段中带有时间戳,其他字段如“点击次数”等。
我想基于其自身的时间戳(事件时间)而不是设置Apache Beam的默认时间戳来处理集合
此数据流的主要威胁是分组每分钟的点击次数
我有一个ftp服务,该服务将文件发送到一个文件夹,我的工作每1分钟监听一次,并在1分钟的修复窗口中处理 问题是可能会迟到数据
我执行KV选择,关键是没有秒数和点击次数的值的时间戳,并按
进行分组我获得“每分钟的点击次数”,并将此收藏集发送到数据库
示例 数据元素包生成至12:05 pm(10个文件) 时间接收数据12:06 pm
作业生成数据 12:05 pm 120次点击
数据元素包在12:05 pm和12:06生成(12:05之后的文件)
时间12:07 pm接收数据
作业生成数据 12:05 pm 10次点击 12:06 pm 135次点击
我想根据事件数据丢弃后期数据的处理 可能以我搜索的方式换句话说,不要将最新数据输入db-> 12:05 pm -10clicks
答案 0 :(得分:0)
您可以使用WithTimestamps变换从数据中分配时间戳。例如,假设您的密钥是可以由Joda Time解析的字符串:
records.apply(
WithTimestamps.of((KV<String, String> rec) -> Instant.parse(rec.getKey()));