Re: What's the difference between EntryProcessor and distributed closure?
Hi Tracyl, You can use "invoke", the method will be most effective for retrieve part of value from cache. For the withKeepBinary off_heap cache "invoke" takes lock on entry and can to manipulate with off_heap pointer wrapped on BinaryObject. -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/What-s-the-difference-between-EntryProcessor-and-distributed-closure-tp8759p8877.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.
Re: What's the difference between EntryProcessor and distributed closure?
Thanks Alexey. By predicate/projection pushdown, I mean: currently I am storing a native Spark Row object as value format of IgniteCache. If I retrieve it as an IgniteRDD, I only want certain column of that Row object rather than returning entire Row and do filter/projection at Spark level. Do you have better recommendations to achieve this? Tracy -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/What-s-the-difference-between-EntryProcessor-and-distributed-closure-tp8759p8790.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.
Re: What's the difference between EntryProcessor and distributed closure?
Hi Tracyl, Can you describe in greater detail what you are trying to achieve? To my knowledge, predicate pushdown is a term usually used for map-reduce jobs. The concept of Ignite's jobs and tasks is more similar to fork-join rather than map-reduce semantics, so we could better help you if you describe what exactly you are trying to achieve. The difference between an EntryProcessor and a distributed closure is as follows: EntryProcessor is a cache operation that allows you atomically modify a single key. It is executed within cache-level entry lock and allows you only to see the current state of the entry. It is not allowed to call other public ignite API within an EntryProcessor. Distributed closure, on the other hand, is executed in a public ignite thread pool and does not hold any cache locks. You can insert any arbitrary logic inside a distributed closure. Let us know if you have more questions. Thanks, AG 2016-11-08 7:19 GMT+03:00 Tracyl: > What I would like to do is to achieve predicate/column project push-down to > the ignite cache layer. I guess this two options could do it, isn't it? If > so, what's the difference? Are there any other options to achieve predicate > push-down? Thanks in advance! > > > > -- > View this message in context: http://apache-ignite-users. > 70518.x6.nabble.com/What-s-the-difference-between-EntryProcessor-and- > distributed-closure-tp8759.html > Sent from the Apache Ignite Users mailing list archive at Nabble.com. >
What's the difference between EntryProcessor and distributed closure?
What I would like to do is to achieve predicate/column project push-down to the ignite cache layer. I guess this two options could do it, isn't it? If so, what's the difference? Are there any other options to achieve predicate push-down? Thanks in advance! -- View this message in context: http://apache-ignite-users.70518.x6.nabble.com/What-s-the-difference-between-EntryProcessor-and-distributed-closure-tp8759.html Sent from the Apache Ignite Users mailing list archive at Nabble.com.