You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@spark.apache.org by "Jungtaek Lim (JIRA)" <ji...@apache.org> on 2019/07/05 03:57:00 UTC

[jira] [Commented] (SPARK-23889) DataSourceV2: Add interfaces to pass required sorting and clustering for writes

    [ https://issues.apache.org/jira/browse/SPARK-23889?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16878956#comment-16878956 ] 

Jungtaek Lim commented on SPARK-23889:
--------------------------------------

Looks like the interface RequiresClustering needs to be changed a bit:
 * It misses required number of partitions to be clustered.
 * Expressions should be `List` to ensure there're ordering of expressions to be applied.

New proposed interface would follow:
{code:java}
interface RequiredClustering {
  List<Expression> clustering();
  int requiredNumPartitions();
}{code}
As I have been working on SPARK-28192, I'll try to address this by using it as POC of SPARK-28192.

> DataSourceV2: Add interfaces to pass required sorting and clustering for writes
> -------------------------------------------------------------------------------
>
>                 Key: SPARK-23889
>                 URL: https://issues.apache.org/jira/browse/SPARK-23889
>             Project: Spark
>          Issue Type: Sub-task
>          Components: SQL
>    Affects Versions: 2.3.0
>            Reporter: Ryan Blue
>            Priority: Major
>
> From a [discussion on the dev list|https://lists.apache.org/thread.html/d8bb72fc9b4be8acc3f49367bfc99cbf029194a58333eba69df49717@%3Cdev.spark.apache.org%3E], there is consensus around adding interfaces to pass required sorting and clustering to Spark. The proposal is to add:
> {code:java}
> interface RequiresClustering {
>   Set<Expression> requiredClustering();
> }
> interface RequiresSort {
>   List<SortOrder> requiredOrdering();
> }
> {code}
> When only {{RequiresSort}} is present, the sort would produce a global sort. The partitioning introduced by that sort would be overridden by {{RequiresClustering}}, making the sort local to each partition.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: issues-unsubscribe@spark.apache.org
For additional commands, e-mail: issues-help@spark.apache.org