Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TypedDataset.selectMany & co capped at arity 22 #207

Closed
OlivierBlanvillain opened this issue Nov 15, 2017 · 6 comments
Closed

TypedDataset.selectMany & co capped at arity 22 #207

OlivierBlanvillain opened this issue Nov 15, 2017 · 6 comments

Comments

@OlivierBlanvillain
Copy link
Contributor

Due to their used of shapeless.ops.hlist.Tupler, withColumn, selectMany, aggMany and groupByMany are limited to output tuples of size 22. There could be several ways around that, a simple option would be to add alternate implementations of these methods that take a type argument for the "targeted" case class (instead of using tuples). I would start by fixing withColumn which looks like the most urgent.

@OlivierBlanvillain OlivierBlanvillain changed the title selectMany/withColumn/aggMany/groupByMany capped at 22 TypedDataset.selectMany & co capped at arity 22 Nov 15, 2017
@iravid
Copy link
Contributor

iravid commented Nov 15, 2017

The bigger issue at hand is the usage of tuples rather than records, right?

@OlivierBlanvillain
Copy link
Contributor Author

Indeed! But switching to a record representation would be much bigger of a change. We went back and forth between the two options and stick to this one because it's close to vanilla and tries to not expose types from shapeless._ to end users...

@iravid
Copy link
Contributor

iravid commented Nov 15, 2017

Ok. Perhaps we should revisit this question as I'd love to solve #188 :-)

This was referenced Nov 16, 2017
@atamborrino
Copy link
Contributor

From my work on #206, I have also wondered why we do not work with TypedDataset of records directly, as it will simplify a lot TypedTransformer/TypedEstimator code flow by removing the need to write each intermediate transformed case class.
I do also understand the idea to not expose shapeless to end-users. But I guess people interested in using frameless know anyway a little about type level programming.

@frosforever
Copy link
Contributor

Not sure if this is the right issue (#188?) to chime in on this, but as I start using frameless in anger, I too would put a vote toward supporting record types and exposing shapeless to the end user.

@cchantep
Copy link
Collaborator

cchantep commented Sep 5, 2021

As inactive for ~4y, closing it for now.

@cchantep cchantep closed this as completed Sep 5, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

5 participants