I'll just remind that Beam already supports (experimental) @RequiresTimeSortedInput (which has several limitations, mostly in that it orders only by timestamp and not some - time related - user field; and of course - missing retractions). An arbitrary sorting seems to be hard, even per-key, it seems it will always have to be somewhat time-bounded, as otherwise it might require unbounded states. The batch case on the other hand typically has a way to order inputs arbitrarily with virtually zero cost, as many implementations use sort-merge-group to perform reduction operations.

 Jan

On 5/11/21 5:56 PM, Kenneth Knowles wrote:
Per-key ordered delivery makes a ton of sense. I'd guess CDC has the same needs as retractions, so that the changelog can be applied in order as it arrives. And since it is per-key you still get parallelism.

Global ordering is quite different. I know that SQL and Dataframes have global sorting operations. The question has always been how does "embarassingly paralllel" processing interact with sorting/ordering. I imagine some other systems have the features so we can look at how it is used?

Kenn

Kenn

On Mon, May 10, 2021 at 4:39 PM Sam Rohde <sro...@google.com <mailto:sro...@google.com>> wrote:

    Awesome, thanks Pablo!

    On Mon, May 10, 2021 at 4:05 PM Pablo Estrada <pabl...@google.com
    <mailto:pabl...@google.com>> wrote:

        CDC would also benefit. I am working on a proposal for this
        that is concerned with streaming pipelines, and per-key
        ordered delivery. I will share with you as soon as I have a
        draft.
        Best
        -P.

        On Mon, May 10, 2021 at 2:56 PM Reuven Lax <re...@google.com
        <mailto:re...@google.com>> wrote:

            There has been talk, but nothing concrete.

            On Mon, May 10, 2021 at 1:42 PM Sam Rohde
            <sro...@google.com <mailto:sro...@google.com>> wrote:

                Hi All,

                I was wondering if there had been any plans for
                creating ordered PCollections in the Beam model? Or if
                there might be plans for them in the future?

                I know that Beam SQL and Beam DataFrames would
                directly benefit from an ordered PCollection.

                Regards,
                Sam

Reply via email to