Hello!

As far as I could understand, you have affinity data in your rows, but it
is not a column but computable over several columns.

In this case you can create your own AffinityFunction inheriting from
RendezvousAffinityFunction.

In general, creating a new AffinityFunction is a monumental task, but in
this case you can just override partition(Object) method, make this method
return number of partition when passed your row object as input.
Note that it might be in BinaryObject form at this point.

Regards,
-- 
Ilya Kasnacheev


пн, 8 окт. 2018 г. в 15:15, Maxim.Pudov <[email protected]>:

> Hello,
>
> If you want to benefit from partition aware data loading, you must set up
> an
> affinity key field, without it SQL will make a full scan every time.
> If you don't plan to use SQL on Ignite's side, then you can set up a
> custom
> AffinityFunction
> <
> https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/cache/affinity/AffinityFunction.html>
>
> in your  CacheConfiguration
> <
> https://ignite.apache.org/releases/latest/javadoc/org/apache/ignite/configuration/CacheConfiguration.html#setAffinity-org.apache.ignite.cache.affinity.AffinityFunction->
>
> , which is not recommened due to potential complexity of this task.
>
>
>
> --
> Sent from: http://apache-ignite-users.70518.x6.nabble.com/
>

Reply via email to