Thanks, everyone!

This all makes and why I sent the email.  I think UUID would work.  We also
talked about BigInteger and ByteBuffer.


On Fri, Sep 24, 2021 at 2:32 AM Schwalbe Matthias <
matthias.schwa...@viseca.ch> wrote:

> Hi Dan,
>
>
>
> Did you consider using java.utils.UUID as key type? It consists of two
> longs which should perform well for use as key.
>
> TypeInformation will map to GenericTypeInfo, i.e. it uses KryoSerializer,
> unless you register a specific TypeInformation for this class …
>
>
>
> I didn’t give it a try … keep us posted if that works 😊
>
>
>
> Thias
>
>
>
>
>
> *From:* Guowei Ma <guowei....@gmail.com>
> *Sent:* Freitag, 24. September 2021 09:34
> *To:* Caizhi Weng <tsreape...@gmail.com>
> *Cc:* Dan Hill <quietgol...@gmail.com>; user <user@flink.apache.org>
> *Subject:* Re: byte array as keys in Flink
>
>
>
> Hi Hill
>
>
>
> As far as I know you could not use byte[] as a keyby. You could find more
> information from [1].
>
>
>
> [1]
> https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/dev/datastream/operators/overview/#keyby
>
>
>
> Best,
>
> Guowei
>
>
>
>
>
> On Fri, Sep 24, 2021 at 3:15 PM Caizhi Weng <tsreape...@gmail.com> wrote:
>
> Hi!
>
>
>
> It depends on the state backend you use. For example if you use a heap
> memory state backend it is backed by a hash map and it uses the hash code
> of byte[] to compare the two byte[] (see HeapMapState#put). However for
> rocksdb state backend it uses the serialized bytes (that is to say, the
> content of byte[]) to compare with the records and thus two byte[] with the
> same content can match (see RocksDBMapState#put).
>
>
>
> Dan Hill <quietgol...@gmail.com> 于2021年9月24日周五 上午7:43写道:
>
> *Context*
>
> I want to perform joins based on UUIDs.  String version is less efficient
> so I figured I should use the byte[] version.  I did a shallow dive into
> the Flink code I'm not sure it's safe to use byte[] as a key (since it uses
> object equals/hashcode).
>
>
>
> *Request*
>
> How do other Flink devs do for byte[] keys? I want to use byte[] as a key
> in a MapState.
>
>
>
>
>
> Diese Nachricht ist ausschliesslich für den Adressaten bestimmt und
> beinhaltet unter Umständen vertrauliche Mitteilungen. Da die
> Vertraulichkeit von e-Mail-Nachrichten nicht gewährleistet werden kann,
> übernehmen wir keine Haftung für die Gewährung der Vertraulichkeit und
> Unversehrtheit dieser Mitteilung. Bei irrtümlicher Zustellung bitten wir
> Sie um Benachrichtigung per e-Mail und um Löschung dieser Nachricht sowie
> eventueller Anhänge. Jegliche unberechtigte Verwendung oder Verbreitung
> dieser Informationen ist streng verboten.
>
> This message is intended only for the named recipient and may contain
> confidential or privileged information. As the confidentiality of email
> communication cannot be guaranteed, we do not accept any responsibility for
> the confidentiality and the intactness of this message. If you have
> received it in error, please advise the sender by return e-mail and delete
> this message and any attachments. Any unauthorised use or dissemination of
> this information is strictly prohibited.
>

Reply via email to