我有一个数据流,其中事件的顺序很重要。时间特征设置为 EventTime,因为传入的记录中包含时间戳。
为了保证顺序,我将程序的并行度设置为 1。当我的程序变得更复杂时,这会成为性能方面的问题吗?
如果我理解正确,我需要为我的事件分配水印,如果我想保持按时间戳排序的流。这很简单。但我读到即使那样也不能保证顺序?稍后,我想对该流进行有状态计算。因此,为此我使用了一个 FlatMap 函数,它需要对流进行键控。但是,如果我键入流,订单将再次丢失。AFAIK 这是因为不同的流分区是由并行性“引起”的。
我有两个问题:
我需要并行性吗?这里需要考虑哪些因素?
我将如何通过上述内容实现“有序并行”?
扬帆大鱼
相关分类