[ 
https://issues.apache.org/jira/browse/IGNITE-4517?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Denis Magda updated IGNITE-4517:
--------------------------------
    Fix Version/s:     (was: 2.0)
                   1.9

> Add ability to execute SQL queries on certain partition(s)
> ----------------------------------------------------------
>
>                 Key: IGNITE-4517
>                 URL: https://issues.apache.org/jira/browse/IGNITE-4517
>             Project: Ignite
>          Issue Type: Task
>          Components: SQL
>            Reporter: Vladimir Ozerov
>             Fix For: 1.9
>
>
> *Motivation*
> This could be useful for certain cases:
> 1) Simple queries where partition can be determined easily in advance, either 
> automatically (IGNITE-4509, IGNITE-4510), or manually.
> 2) Spark data frame integration (IGNITE-3084)
> *Proposed API*
> class Query {
>     int[] partitions();
>     void partitions(int...);
> }
> Important points:
> 1) Partitions are defined in the very base {{Query}} class because we already 
> has this feature for {{ScanQuery}} and potentially any query type can benefit 
> from it. If query doesn't support partitions, exception should be thrown.
> 2) User should be able to specify multiple partitions, not only one. This 
> will make our API more flexible for 3-rd party integrations like Spark. Also 
> it will help users with fine-grained tuning. E.g. if user has a query {{... 
> WHERE attribute IN (?, ?, ...)}}, he can determine partitions for {{IN}} 
> arguments in advance.
> Probably this feature should not be supported for distributed joins. On the 
> other hand - why not? Query is always created from some cache, so the first 
> map step can be executed only against target partitions, and the rest 
> execution flow can go through all partitions of other caches.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to