Skip to content

Conversation

@tarekbecker
Copy link
Contributor

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@rxin Is there a better way to expose hset to the codeGen stuff?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this won't work when you have multiple queries. lemme see ...

@rxin
Copy link
Contributor

rxin commented Jul 30, 2015

Can you beef up the test cases for in and inset in predicatesuites to include all primitive data types?

@rxin
Copy link
Contributor

rxin commented Jul 30, 2015

actually now i think about it more, in most cases it's probably a lot faster to just use the generated code for IN compared with a hashset lookup. In the case of a hashset lookup, it might make sense to change the OptimizeIn rule to only convert In to InSet if the number of instances is greater than say 50.

@rxin
Copy link
Contributor

rxin commented Jul 30, 2015

As for passing in the hashset, one way to do it is to relax the type constraint of references in codegenerator, and allow passing in arbitrary objects.

@rxin
Copy link
Contributor

rxin commented Jul 30, 2015

Jenkins, ok to test.

@rxin
Copy link
Contributor

rxin commented Jul 30, 2015

Jenkins, add to whitelist.

@tarekbecker tarekbecker changed the title [SPARK-9403][SQL] codeGen in / inSet [SPARK-9403][SQL][WIP] codeGen in / inSet Jul 30, 2015
@SparkQA
Copy link

SparkQA commented Jul 31, 2015

Test build #1249 has finished for PR 7778 at commit e69ebaa.

  • This patch fails Spark unit tests.
  • This patch merges cleanly.
  • This patch adds the following public classes (experimental):
    • case class In(value: Expression, list: Seq[Expression]) extends Predicate
    • case class InSet(child: Expression, hset: Set[Any]) extends UnaryExpression with Predicate

asfgit pushed a commit that referenced this pull request Aug 5, 2015
This continues tarekauel's work in #7778.

Author: Liang-Chi Hsieh <[email protected]>
Author: Tarek Auel <[email protected]>

Closes #7893 from viirya/codegen_in and squashes the following commits:

81ff97b [Liang-Chi Hsieh] For comments.
47761c6 [Liang-Chi Hsieh] Merge remote-tracking branch 'upstream/master' into codegen_in
cf4bf41 [Liang-Chi Hsieh] For comments.
f532b3c [Liang-Chi Hsieh] Merge remote-tracking branch 'upstream/master' into codegen_in
446bbcd [Liang-Chi Hsieh] Fix bug.
b3d0ab4 [Liang-Chi Hsieh] Merge remote-tracking branch 'upstream/master' into codegen_in
4610eff [Liang-Chi Hsieh] Relax the types of references and update optimizer test.
224f18e [Liang-Chi Hsieh] Beef up the test cases for In and InSet to include all primitive data types.
86dc8aa [Liang-Chi Hsieh] Only convert In to InSet when the number of items in set is more than the threshold.
b7ded7e [Tarek Auel] [SPARK-9403][SQL] codeGen in / inSet

(cherry picked from commit e1e0587)
Signed-off-by: Davies Liu <[email protected]>
asfgit pushed a commit that referenced this pull request Aug 5, 2015
This continues tarekauel's work in #7778.

Author: Liang-Chi Hsieh <[email protected]>
Author: Tarek Auel <[email protected]>

Closes #7893 from viirya/codegen_in and squashes the following commits:

81ff97b [Liang-Chi Hsieh] For comments.
47761c6 [Liang-Chi Hsieh] Merge remote-tracking branch 'upstream/master' into codegen_in
cf4bf41 [Liang-Chi Hsieh] For comments.
f532b3c [Liang-Chi Hsieh] Merge remote-tracking branch 'upstream/master' into codegen_in
446bbcd [Liang-Chi Hsieh] Fix bug.
b3d0ab4 [Liang-Chi Hsieh] Merge remote-tracking branch 'upstream/master' into codegen_in
4610eff [Liang-Chi Hsieh] Relax the types of references and update optimizer test.
224f18e [Liang-Chi Hsieh] Beef up the test cases for In and InSet to include all primitive data types.
86dc8aa [Liang-Chi Hsieh] Only convert In to InSet when the number of items in set is more than the threshold.
b7ded7e [Tarek Auel] [SPARK-9403][SQL] codeGen in / inSet
@asfgit asfgit closed this in eb5b8f4 Aug 5, 2015
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants