Comments (2)
For reference here is an example query plan from Apache Spark:
== Parsed Logical Plan ==
'Aggregate ['passenger_count], ['passenger_count, unresolvedalias('MIN('fare_amount), None), unresolvedalias('MAX('fare_amount), None)]
+- 'UnresolvedRelation `tripdata`
== Analyzed Logical Plan ==
passenger_count: int, min(fare_amount): double, max(fare_amount): double
Aggregate [passenger_count#3], [passenger_count#3, min(fare_amount#10) AS min(fare_amount)#44, max(fare_amount#10) AS max(fare_amount)#45]
+- SubqueryAlias `tripdata`
+- Relation[VendorID#0,tpep_pickup_datetime#1,tpep_dropoff_datetime#2,passenger_count#3,trip_distance#4,RatecodeID#5,store_and_fwd_flag#6,PULocationID#7,DOLocationID#8,payment_type#9,fare_amount#10,extra#11,mta_tax#12,tip_amount#13,tolls_amount#14,improvement_surcharge#15,total_amount#16] csv
== Optimized Logical Plan ==
Aggregate [passenger_count#3], [passenger_count#3, min(fare_amount#10) AS min(fare_amount)#44, max(fare_amount#10) AS max(fare_amount)#45]
+- Project [passenger_count#3, fare_amount#10]
+- Relation[VendorID#0,tpep_pickup_datetime#1,tpep_dropoff_datetime#2,passenger_count#3,trip_distance#4,RatecodeID#5,store_and_fwd_flag#6,PULocationID#7,DOLocationID#8,payment_type#9,fare_amount#10,extra#11,mta_tax#12,tip_amount#13,tolls_amount#14,improvement_surcharge#15,total_amount#16] csv
== Physical Plan ==
*(2) HashAggregate(keys=[passenger_count#3], functions=[min(fare_amount#10), max(fare_amount#10)], output=[passenger_count#3, min(fare_amount)#44, max(fare_amount)#45])
+- Exchange hashpartitioning(passenger_count#3, 200)
+- *(1) HashAggregate(keys=[passenger_count#3], functions=[partial_min(fare_amount#10), partial_max(fare_amount#10)], output=[passenger_count#3, min#48, max#49])
+- *(1) FileScan csv [passenger_count#3,fare_amount#10] Batched: false, Format: CSV, Location: InMemoryFileIndex[file:/mnt/ssd/nyc_taxis/csv], PartitionFilters: [], PushedFilters: [], ReadSchema: struct<passenger_count:int,fare_amount:double>
from ballista.
Implemented in #179
from ballista.
Related Issues (20)
- z vf"rbgr'r ntyj,§yu;kuik;:ik;,n,;:;,nbn,;,wxc;zerjhygiuytrdtyuiopoiuyrtypoiè!èi!ujyuhytt§tt§grrtttte'eezzéddsqsddfgfddegjjhjjkilp
- Query fails when there are multiple executors
- Add watch capabilities to ConfigBackendClient
- Move state synchronization to an async task
- Re-run the necessary tasks when an executor dies
- Improve task and job metadata HOT 5
- Use PartitionId in TaskStatus HOT 1
- Add support for Keda
- Make external hostname in executor optional
- Ballista doesn't optimize logical plan HOT 1
- Implement minimal REST API in the scheduler HOT 7
- Windows CI is broken HOT 2
- Create "self-contained" mode in client library
- Add etcd/sled features to scheduler module
- Python CI should run when Rust directory changes
- Update scheduler to support multiple locations per partition HOT 2
- Donate Ballista to Apache Arrow project HOT 31
- why only 1 executor works even I start 2 executors? HOT 1
- tpch convert to multi partitions is frozen
- Ballista Distributed Compute has moved! Please bookmark and star the new repo! HOT 2
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 ballista.