Uploaded image for project: 'Spark'
  1. Spark
  2. SPARK-35636

Do not push down extract value in higher order function that references both sides of a join

    XMLWordPrintableJSON

Details

    • Improvement
    • Status: Resolved
    • Major
    • Resolution: Fixed
    • 3.1.0
    • 3.2.0
    • SQL
    • None

    Description

      Currently, lambda keys can be referenced outside of the lambda function:

      Project transform(keys#0, lambdafunction(_extract_v1#0, lambda key#0, false)) AS a#0
      +- 'Join Cross
      :- Project kvs#0[lambda key#0].v1 AS _extract_v1#0
      : +- LocalRelation <empty>, kvs#0
      +- LocalRelation <empty>, keys#0

      This should be unchanged from the original state:

      Project transform(keys#418, lambdafunction(kvs#417[lambda key#420].v1, lambda key#420, false)) AS a#419
      +- Join Cross
      :- LocalRelation <empty>, kvs#417
      +- LocalRelation <empty>, keys#418

      Attachments

        Activity

          People

            karenfeng Karen Feng
            karenfeng Karen Feng
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved: