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.

Reply via email to