You are viewing a plain text version of this content. The canonical link for it is here.
Posted to reviews@spark.apache.org by cloud-fan <gi...@git.apache.org> on 2018/06/15 04:46:20 UTC

[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

GitHub user cloud-fan opened a pull request:

    https://github.com/apache/spark/pull/21574

    [SPARK-24478][SQL][followup] Move projection and filter push down to physical conversion

    ## What changes were proposed in this pull request?
    
    This is a followup of https://github.com/apache/spark/pull/21503, to completely move operator pushdown to the planner rule.
    
    The code are mostly from https://github.com/apache/spark/pull/21319
    
    ## How was this patch tested?
    
    existing tests

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/cloud-fan/spark followup

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/spark/pull/21574.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #21574
    
----
commit 1aeb6ab09d4ac5c85a339edd6de3cab6bab47f5b
Author: Wenchen Fan <we...@...>
Date:   2018-06-15T04:29:57Z

    move pushdown logic to the planner rule

----


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test FAILed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by cloud-fan <gi...@git.apache.org>.
Github user cloud-fan commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    retest this please


---

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


[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

Posted by rdblue <gi...@git.apache.org>.
Github user rdblue commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21574#discussion_r196222500
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DataSourceV2Relation.scala ---
    @@ -23,17 +23,24 @@ import org.apache.spark.sql.AnalysisException
     import org.apache.spark.sql.catalyst.analysis.MultiInstanceRelation
     import org.apache.spark.sql.catalyst.expressions.{AttributeReference, Expression}
     import org.apache.spark.sql.catalyst.plans.logical.{LeafNode, LogicalPlan, Statistics}
    -import org.apache.spark.sql.execution.datasources.DataSourceStrategy
    -import org.apache.spark.sql.sources.{DataSourceRegister, Filter}
    +import org.apache.spark.sql.sources.DataSourceRegister
     import org.apache.spark.sql.sources.v2.{DataSourceOptions, DataSourceV2, ReadSupport, ReadSupportWithSchema}
    -import org.apache.spark.sql.sources.v2.reader.{DataSourceReader, SupportsPushDownCatalystFilters, SupportsPushDownFilters, SupportsPushDownRequiredColumns, SupportsReportStatistics}
    +import org.apache.spark.sql.sources.v2.reader.{DataSourceReader, SupportsReportStatistics}
     import org.apache.spark.sql.types.StructType
     
    +/**
    + * A logical plan representing a data source v2 scan.
    + *
    + * @param source An instance of a [[DataSourceV2]] implementation.
    + * @param options The options for this scan. Used to create fresh [[DataSourceReader]].
    + * @param userSpecifiedSchema The user-specified schema for this scan. Used to create fresh
    + *                            [[DataSourceReader]].
    + */
     case class DataSourceV2Relation(
         source: DataSourceV2,
         output: Seq[AttributeReference],
         options: Map[String, String],
    -    userSpecifiedSchema: Option[StructType] = None)
    +    userSpecifiedSchema: Option[StructType])
    --- End diff --
    
    Either way, it's up to you.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by cloud-fan <gi...@git.apache.org>.
Github user cloud-fan commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    cc @rdblue @gengliangwang 


---

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


[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

Posted by rdblue <gi...@git.apache.org>.
Github user rdblue commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21574#discussion_r196173289
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DataSourceV2Strategy.scala ---
    @@ -17,51 +17,115 @@
     
     package org.apache.spark.sql.execution.datasources.v2
     
    -import org.apache.spark.sql.{execution, Strategy}
    -import org.apache.spark.sql.catalyst.expressions.{And, AttributeReference, AttributeSet}
    +import scala.collection.mutable
    +
    +import org.apache.spark.sql.{sources, Strategy}
    +import org.apache.spark.sql.catalyst.expressions.{And, AttributeReference, AttributeSet, Expression}
     import org.apache.spark.sql.catalyst.planning.PhysicalOperation
     import org.apache.spark.sql.catalyst.plans.logical.LogicalPlan
    -import org.apache.spark.sql.execution.SparkPlan
    +import org.apache.spark.sql.execution.{FilterExec, ProjectExec, SparkPlan}
    +import org.apache.spark.sql.execution.datasources.DataSourceStrategy
     import org.apache.spark.sql.execution.streaming.continuous.{WriteToContinuousDataSource, WriteToContinuousDataSourceExec}
    +import org.apache.spark.sql.sources.v2.reader.{DataSourceReader, SupportsPushDownCatalystFilters, SupportsPushDownFilters, SupportsPushDownRequiredColumns}
     
     object DataSourceV2Strategy extends Strategy {
    -  override def apply(plan: LogicalPlan): Seq[SparkPlan] = plan match {
    -    case PhysicalOperation(project, filters, relation: DataSourceV2Relation) =>
    -      val projectSet = AttributeSet(project.flatMap(_.references))
    -      val filterSet = AttributeSet(filters.flatMap(_.references))
    -
    -      val projection = if (filterSet.subsetOf(projectSet) &&
    -          AttributeSet(relation.output) == projectSet) {
    -        // When the required projection contains all of the filter columns and column pruning alone
    -        // can produce the required projection, push the required projection.
    -        // A final projection may still be needed if the data source produces a different column
    -        // order or if it cannot prune all of the nested columns.
    -        relation.output
    -      } else {
    -        // When there are filter columns not already in the required projection or when the required
    -        // projection is more complicated than column pruning, base column pruning on the set of
    -        // all columns needed by both.
    -        (projectSet ++ filterSet).toSeq
    -      }
     
    -      val reader = relation.newReader
    +  /**
    +   * Pushes down filters to the data source reader
    +   *
    +   * @return pushed filter and post-scan filters.
    +   */
    +  private def pushFilters(
    --- End diff --
    
    +1 for moving these functions. I considered it in the other commit, but decided to go with fewer changes. I like them here.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test PASSed.


---

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


[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

Posted by cloud-fan <gi...@git.apache.org>.
Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21574#discussion_r195632412
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DataSourceV2Relation.scala ---
    @@ -105,117 +105,57 @@ case class StreamingDataSourceV2Relation(
     }
     
     object DataSourceV2Relation {
    +
       private implicit class SourceHelpers(source: DataSourceV2) {
    -    def asReadSupport: ReadSupport = {
    -      source match {
    -        case support: ReadSupport =>
    -          support
    -        case _: ReadSupportWithSchema =>
    -          // this method is only called if there is no user-supplied schema. if there is no
    -          // user-supplied schema and ReadSupport was not implemented, throw a helpful exception.
    -          throw new AnalysisException(s"Data source requires a user-supplied schema: $name")
    -        case _ =>
    -          throw new AnalysisException(s"Data source is not readable: $name")
    -      }
    -    }
     
    -    def asReadSupportWithSchema: ReadSupportWithSchema = {
    -      source match {
    -        case support: ReadSupportWithSchema =>
    -          support
    -        case _: ReadSupport =>
    -          throw new AnalysisException(
    -            s"Data source does not support user-supplied schema: $name")
    -        case _ =>
    -          throw new AnalysisException(s"Data source is not readable: $name")
    -      }
    +    private def asReadSupport: ReadSupport = source match {
    --- End diff --
    
    strip one indentation level to shorten the code.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    **[Test build #92049 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/92049/testReport)** for PR 21574 at commit [`4471422`](https://github.com/apache/spark/commit/4471422e0ac1ce9ed0915dad19afeacbe32a7b48).


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by rdblue <gi...@git.apache.org>.
Github user rdblue commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    +1 (non-binding) assuming that tests pass.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test FAILed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91885/
    Test FAILed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by cloud-fan <gi...@git.apache.org>.
Github user cloud-fan commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    According to the [dicsussion](https://github.com/apache/spark/pull/21503#discussion_r194871032) , we agree that it's better to remove the hacky workaround for mutable `DataSourceV2Relation` and not having stats estimation for partition pruning. For builtin data source like file source, we can still keep the optimzer rule `PruneFileSourcePartitions` to make them work.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    **[Test build #92041 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/92041/testReport)** for PR 21574 at commit [`13c91df`](https://github.com/apache/spark/commit/13c91df24e9fb40b3b2fe0eb4a3c80c549f0bbc4).


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test PASSed.


---

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


[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

Posted by rdblue <gi...@git.apache.org>.
Github user rdblue commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21574#discussion_r196172875
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DataSourceV2Relation.scala ---
    @@ -105,117 +105,57 @@ case class StreamingDataSourceV2Relation(
     }
     
     object DataSourceV2Relation {
    +
       private implicit class SourceHelpers(source: DataSourceV2) {
    -    def asReadSupport: ReadSupport = {
    -      source match {
    -        case support: ReadSupport =>
    -          support
    -        case _: ReadSupportWithSchema =>
    -          // this method is only called if there is no user-supplied schema. if there is no
    -          // user-supplied schema and ReadSupport was not implemented, throw a helpful exception.
    -          throw new AnalysisException(s"Data source requires a user-supplied schema: $name")
    -        case _ =>
    -          throw new AnalysisException(s"Data source is not readable: $name")
    -      }
    -    }
     
    -    def asReadSupportWithSchema: ReadSupportWithSchema = {
    -      source match {
    -        case support: ReadSupportWithSchema =>
    -          support
    -        case _: ReadSupport =>
    -          throw new AnalysisException(
    -            s"Data source does not support user-supplied schema: $name")
    -        case _ =>
    -          throw new AnalysisException(s"Data source is not readable: $name")
    -      }
    +    private def asReadSupport: ReadSupport = source match {
    --- End diff --
    
    I'm -1 on cosmetic changes like this. It doesn't make a big improvement, but makes it harder to track down when a functional change happened.


---

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


[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

Posted by rdblue <gi...@git.apache.org>.
Github user rdblue commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21574#discussion_r196173414
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DataSourceV2Relation.scala ---
    @@ -23,17 +23,24 @@ import org.apache.spark.sql.AnalysisException
     import org.apache.spark.sql.catalyst.analysis.MultiInstanceRelation
     import org.apache.spark.sql.catalyst.expressions.{AttributeReference, Expression}
     import org.apache.spark.sql.catalyst.plans.logical.{LeafNode, LogicalPlan, Statistics}
    -import org.apache.spark.sql.execution.datasources.DataSourceStrategy
    -import org.apache.spark.sql.sources.{DataSourceRegister, Filter}
    +import org.apache.spark.sql.sources.DataSourceRegister
     import org.apache.spark.sql.sources.v2.{DataSourceOptions, DataSourceV2, ReadSupport, ReadSupportWithSchema}
    -import org.apache.spark.sql.sources.v2.reader.{DataSourceReader, SupportsPushDownCatalystFilters, SupportsPushDownFilters, SupportsPushDownRequiredColumns, SupportsReportStatistics}
    +import org.apache.spark.sql.sources.v2.reader.{DataSourceReader, SupportsReportStatistics}
     import org.apache.spark.sql.types.StructType
     
    +/**
    + * A logical plan representing a data source v2 scan.
    + *
    + * @param source An instance of a [[DataSourceV2]] implementation.
    + * @param options The options for this scan. Used to create fresh [[DataSourceReader]].
    + * @param userSpecifiedSchema The user-specified schema for this scan. Used to create fresh
    + *                            [[DataSourceReader]].
    + */
     case class DataSourceV2Relation(
         source: DataSourceV2,
         output: Seq[AttributeReference],
         options: Map[String, String],
    -    userSpecifiedSchema: Option[StructType] = None)
    +    userSpecifiedSchema: Option[StructType])
    --- End diff --
    
    Why is this change necessary?


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    **[Test build #91937 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/91937/testReport)** for PR 21574 at commit [`1aeb6ab`](https://github.com/apache/spark/commit/1aeb6ab09d4ac5c85a339edd6de3cab6bab47f5b).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    **[Test build #92041 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/92041/testReport)** for PR 21574 at commit [`13c91df`](https://github.com/apache/spark/commit/13c91df24e9fb40b3b2fe0eb4a3c80c549f0bbc4).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by rdblue <gi...@git.apache.org>.
Github user rdblue commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    @rxin, we can also add the second pushdown (in the stats visitor) to get better stats with a property to turn it on or off. We're going to add it back in our branch anyway.


---

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


[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

Posted by rdblue <gi...@git.apache.org>.
Github user rdblue commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21574#discussion_r196192774
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DataSourceV2Relation.scala ---
    @@ -23,17 +23,24 @@ import org.apache.spark.sql.AnalysisException
     import org.apache.spark.sql.catalyst.analysis.MultiInstanceRelation
     import org.apache.spark.sql.catalyst.expressions.{AttributeReference, Expression}
     import org.apache.spark.sql.catalyst.plans.logical.{LeafNode, LogicalPlan, Statistics}
    -import org.apache.spark.sql.execution.datasources.DataSourceStrategy
    -import org.apache.spark.sql.sources.{DataSourceRegister, Filter}
    +import org.apache.spark.sql.sources.DataSourceRegister
     import org.apache.spark.sql.sources.v2.{DataSourceOptions, DataSourceV2, ReadSupport, ReadSupportWithSchema}
    -import org.apache.spark.sql.sources.v2.reader.{DataSourceReader, SupportsPushDownCatalystFilters, SupportsPushDownFilters, SupportsPushDownRequiredColumns, SupportsReportStatistics}
    +import org.apache.spark.sql.sources.v2.reader.{DataSourceReader, SupportsReportStatistics}
     import org.apache.spark.sql.types.StructType
     
    +/**
    + * A logical plan representing a data source v2 scan.
    + *
    + * @param source An instance of a [[DataSourceV2]] implementation.
    + * @param options The options for this scan. Used to create fresh [[DataSourceReader]].
    + * @param userSpecifiedSchema The user-specified schema for this scan. Used to create fresh
    + *                            [[DataSourceReader]].
    + */
     case class DataSourceV2Relation(
         source: DataSourceV2,
         output: Seq[AttributeReference],
         options: Map[String, String],
    -    userSpecifiedSchema: Option[StructType] = None)
    +    userSpecifiedSchema: Option[StructType])
    --- End diff --
    
    That's because there are few places that create v2 relations so far, but when SQL statements and other paths that don't allow you to supply your own schema are added, I think this will be more common. It's okay to remove it, but I don't see much value in the change and I like to keep non-functional changes to a minimum.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by rxin <gi...@git.apache.org>.
Github user rxin commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Does this move actually make sense? It'd destroy stats estimation for partition pruning.



---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    **[Test build #91937 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/91937/testReport)** for PR 21574 at commit [`1aeb6ab`](https://github.com/apache/spark/commit/1aeb6ab09d4ac5c85a339edd6de3cab6bab47f5b).


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/4180/
    Test PASSed.


---

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


[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

Posted by asfgit <gi...@git.apache.org>.
Github user asfgit closed the pull request at:

    https://github.com/apache/spark/pull/21574


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/294/
    Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by cloud-fan <gi...@git.apache.org>.
Github user cloud-fan commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    thanks, merging to master!


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/91937/
    Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    **[Test build #91885 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/91885/testReport)** for PR 21574 at commit [`1aeb6ab`](https://github.com/apache/spark/commit/1aeb6ab09d4ac5c85a339edd6de3cab6bab47f5b).
     * This patch **fails to build**.
     * This patch merges cleanly.
     * This patch adds no public classes.


---

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


[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

Posted by cloud-fan <gi...@git.apache.org>.
Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21574#discussion_r196188225
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DataSourceV2Relation.scala ---
    @@ -23,17 +23,24 @@ import org.apache.spark.sql.AnalysisException
     import org.apache.spark.sql.catalyst.analysis.MultiInstanceRelation
     import org.apache.spark.sql.catalyst.expressions.{AttributeReference, Expression}
     import org.apache.spark.sql.catalyst.plans.logical.{LeafNode, LogicalPlan, Statistics}
    -import org.apache.spark.sql.execution.datasources.DataSourceStrategy
    -import org.apache.spark.sql.sources.{DataSourceRegister, Filter}
    +import org.apache.spark.sql.sources.DataSourceRegister
     import org.apache.spark.sql.sources.v2.{DataSourceOptions, DataSourceV2, ReadSupport, ReadSupportWithSchema}
    -import org.apache.spark.sql.sources.v2.reader.{DataSourceReader, SupportsPushDownCatalystFilters, SupportsPushDownFilters, SupportsPushDownRequiredColumns, SupportsReportStatistics}
    +import org.apache.spark.sql.sources.v2.reader.{DataSourceReader, SupportsReportStatistics}
     import org.apache.spark.sql.types.StructType
     
    +/**
    + * A logical plan representing a data source v2 scan.
    + *
    + * @param source An instance of a [[DataSourceV2]] implementation.
    + * @param options The options for this scan. Used to create fresh [[DataSourceReader]].
    + * @param userSpecifiedSchema The user-specified schema for this scan. Used to create fresh
    + *                            [[DataSourceReader]].
    + */
     case class DataSourceV2Relation(
         source: DataSourceV2,
         output: Seq[AttributeReference],
         options: Map[String, String],
    -    userSpecifiedSchema: Option[StructType] = None)
    +    userSpecifiedSchema: Option[StructType])
    --- End diff --
    
    I can't find a place that uses this default value.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/4059/
    Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/168/
    Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/92049/
    Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test PASSed.


---

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


[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

Posted by cloud-fan <gi...@git.apache.org>.
Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21574#discussion_r196242597
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DataSourceV2Relation.scala ---
    @@ -106,7 +106,7 @@ case class StreamingDataSourceV2Relation(
     
     object DataSourceV2Relation {
       private implicit class SourceHelpers(source: DataSourceV2) {
    -    def asReadSupport: ReadSupport = {
    +    private def asReadSupport: ReadSupport = {
    --- End diff --
    
    makes sense


---

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


[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

Posted by rdblue <gi...@git.apache.org>.
Github user rdblue commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21574#discussion_r196223209
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DataSourceV2Relation.scala ---
    @@ -106,7 +106,7 @@ case class StreamingDataSourceV2Relation(
     
     object DataSourceV2Relation {
       private implicit class SourceHelpers(source: DataSourceV2) {
    -    def asReadSupport: ReadSupport = {
    +    private def asReadSupport: ReadSupport = {
    --- End diff --
    
    Minor: these are effectively private because `SourceHelpers` is private. If we were to move `SourceHelpers` or make it public to some other part of Spark, we would have to revert these changes. So I think it is best to rely on the visibility of `SourceHelpers` instead of making these private.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/286/
    Test PASSed.


---

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


[GitHub] spark pull request #21574: [SPARK-24478][SQL][followup] Move projection and ...

Posted by cloud-fan <gi...@git.apache.org>.
Github user cloud-fan commented on a diff in the pull request:

    https://github.com/apache/spark/pull/21574#discussion_r196204327
  
    --- Diff: sql/core/src/main/scala/org/apache/spark/sql/execution/datasources/v2/DataSourceV2Relation.scala ---
    @@ -23,17 +23,24 @@ import org.apache.spark.sql.AnalysisException
     import org.apache.spark.sql.catalyst.analysis.MultiInstanceRelation
     import org.apache.spark.sql.catalyst.expressions.{AttributeReference, Expression}
     import org.apache.spark.sql.catalyst.plans.logical.{LeafNode, LogicalPlan, Statistics}
    -import org.apache.spark.sql.execution.datasources.DataSourceStrategy
    -import org.apache.spark.sql.sources.{DataSourceRegister, Filter}
    +import org.apache.spark.sql.sources.DataSourceRegister
     import org.apache.spark.sql.sources.v2.{DataSourceOptions, DataSourceV2, ReadSupport, ReadSupportWithSchema}
    -import org.apache.spark.sql.sources.v2.reader.{DataSourceReader, SupportsPushDownCatalystFilters, SupportsPushDownFilters, SupportsPushDownRequiredColumns, SupportsReportStatistics}
    +import org.apache.spark.sql.sources.v2.reader.{DataSourceReader, SupportsReportStatistics}
     import org.apache.spark.sql.types.StructType
     
    +/**
    + * A logical plan representing a data source v2 scan.
    + *
    + * @param source An instance of a [[DataSourceV2]] implementation.
    + * @param options The options for this scan. Used to create fresh [[DataSourceReader]].
    + * @param userSpecifiedSchema The user-specified schema for this scan. Used to create fresh
    + *                            [[DataSourceReader]].
    + */
     case class DataSourceV2Relation(
         source: DataSourceV2,
         output: Seq[AttributeReference],
         options: Map[String, String],
    -    userSpecifiedSchema: Option[StructType] = None)
    +    userSpecifiedSchema: Option[StructType])
    --- End diff --
    
    yea I agree we should minimum the non-functional changes, but removing dead code is also good to do. This is really a small change, if we do need the default value in the future, it's very easy to add it back.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    **[Test build #92049 has finished](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/92049/testReport)** for PR 21574 at commit [`4471422`](https://github.com/apache/spark/commit/4471422e0ac1ce9ed0915dad19afeacbe32a7b48).
     * This patch passes all tests.
     * This patch merges cleanly.
     * This patch adds no public classes.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/92041/
    Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by SparkQA <gi...@git.apache.org>.
Github user SparkQA commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    **[Test build #91885 has started](https://amplab.cs.berkeley.edu/jenkins/job/SparkPullRequestBuilder/91885/testReport)** for PR 21574 at commit [`1aeb6ab`](https://github.com/apache/spark/commit/1aeb6ab09d4ac5c85a339edd6de3cab6bab47f5b).


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/209/
    Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/4100/
    Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Test PASSed.
    Refer to this link for build results (access rights to CI server needed): 
    https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution/4188/
    Test PASSed.


---

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


[GitHub] spark issue #21574: [SPARK-24478][SQL][followup] Move projection and filter ...

Posted by AmplabJenkins <gi...@git.apache.org>.
Github user AmplabJenkins commented on the issue:

    https://github.com/apache/spark/pull/21574
  
    Merged build finished. Test PASSed.


---

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