Comments (7)
@imarios it seems I fixed it in #123
from frameless.
That should be a compile time error, right?
I think TypedAggregateAndColumn
shoudn't be <: TypedColumn
, or every thing defined in AggregateFunctions becomes usable in select...
from frameless.
Hm.. I remember it worked before, probably something was changed, and we have tests only for agg
case. We need to add tests and adjust types. And if it isn't relevant anymore for any instance of TypedAggregateAndColumn
, then we can remove it.
from frameless.
Maybe we shouldn't have TypedAggregateAndColumn to be both a column and an aggregated I agree. What was the initial idea of having it as both?
from frameless.
At some point in Spark you could select(sum("a"))
, the problem there is a name collision between sum
in select
of TypedColumn
and sum
in agg
of TypedAggregate
, the idea was to create sort of union type for it :).
from frameless.
Obviously this is still an issue in Spark, if you do the same thing with datasets you get a nice runtime error. The issue here is that we are trying to give you a compiler error if things should fail at runtime. So now we need to think how we can do that here.
Running aggregations in select is useful when you don't really want any subgroups to be aggregated but you need the entire thing to be aggregated. It's like saying groupBy(no-thanks).agg(sum("i"))
.
What if we have a syntax like this ds.forAgg.agg( sum(ds('i)), max(ds('i)), etc. )
?
This assumes that we no longer allow aggregation on select. So we might get the additional simplification of TypedAggregateAndColumn to just TypedAggregate.
from frameless.
from frameless.
Related Issues (20)
- CI release failure HOT 7
- How should parse and convert data from an external medium in a generic way? HOT 2
- Frameless 0.13 release HOT 2
- spark 3.4 support - replacing dataTypeFor logic HOT 8
- 3.4 AgnosticEncoder support - Spark Connect HOT 1
- [feature] DatasetT HOT 1
- AVG and KMeans tests fix HOT 1
- Add scalafmt HOT 1
- Add support for TypedDeltaTable
- use HOT 1
- Iterate over TypedColumns with evidence
- Spark 3.5 update HOT 10
- type inference for .opt no longer works without explicit type argument in Scala 2.13.x HOT 3
- Defective schema generation on array/seq column HOT 5
- scalafmt was not maintained for some of the code? HOT 2
- Add TypedEncoder for shapeless Record. HOT 3
- Spark 4.0 / DBR 14.2+ - bleeding edge changes HOT 6
- UDF fails when subexpression elimination is used in interpreted mode HOT 1
- Encoder derivation for collection incompatible implementations for interpreted serde e.g. Seq instead of Vector HOT 1
- Spark 4 snapshot test failures due to sql.ansi handling
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from frameless.