flink-user mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Jeff Crane <jeffcra...@yahoo.com>
Subject Re: BucketAssigner - Confusion
Date Tue, 02 Apr 2019 18:18:08 GMT
 According to my IDE (Jetbrains), I get an error with getBucketID(IN, Context) signature requiring
a return of string (Flink 1.7 libs), so I still don't think the BucketID is a variable type.

I still don't understand the role of the:    public SimpleVersionedSerializer<String>
getSerializer() {
        return SimpleVersionedStringSerializer.INSTANCE;
    }Where does that come into play, if the getBucketID makes a string anyway?



    On Monday, April 1, 2019, 11:44:14 AM PDT, Jeff Crane <jeffcrane9@yahoo.com> wrote:
 
 
 I have had an issue understanding the documentation, in regard to BucketAssigner.BucketID getBucketId(IN element,
                     BucketAssigner.Context context)SimpleVersionedSerializer<BucketID> getSerializer()First
of all, I don't understand what type of "BucketID" means. I assume that's the returned type
fo the getBucketID, which doesn't make sense. The description says getBucketId (returns?)
 "A string representing the identifier of the bucket" So BucketID is not a type, it's always
a string?Base on the docs, I implemented like this, which doesn't write anything!public final
class CustomBucketAssigner implements BucketAssigner<MyEvent, String> {

    public String getBucketId(final MyEvent element, final Context context) {

        DateTime dateTimeL = new DateTime(context.currentWatermark());

        return String.join("_",
                String.valueOf(dateTimeL.getYear()),
                String.valueOf(dateTimeL.getMonthOfYear()),
                String.valueOf(dateTimeL.getDayOfMonth()),
                String.valueOf(dateTimeL.getHourOfDay()),
                String.valueOf(dateTimeL.getMinuteOfHour())
        );
    }

    // I assume <String> because BucketID is always string?
    public SimpleVersionedSerializer<String> getSerializer() {
        return SimpleVersionedStringSerializer.INSTANCE;
    }}
Can someone explain how bucketAssigned is supposed to do in plainer english. I don't think
the docs are clear and I'm lost.  
Mime
View raw message