-
Notifications
You must be signed in to change notification settings - Fork 29k
[SPARK-20254][SQL] Remove unnecessary data conversion for Dataset with primitive array #17568
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
Changes from 1 commit
1ece803
c042ff2
264a18b
82a1f2b
cc3c7bd
7d43d27
3bcee3f
1b24be0
5174b5e
e608c45
2ee4030
1d6ab36
0fd8c25
791aad9
f695e50
ce6927d
a6bedee
c0dca2b
8de6915
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
- Loading branch information
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -104,20 +104,12 @@ object CombineTypedFilters extends Rule[LogicalPlan] { | |
| * 1. Mapobject(e) where e is lambdavariable(), which means types for input output | ||
| * are primitive types | ||
| * 2. no custom collection class specified | ||
| * representation of data item. For example back to back map operations. | ||
| * representation of data item. For example back to back map operations. | ||
|
||
| */ | ||
| object EliminateMapObjects extends Rule[LogicalPlan] { | ||
| def apply(plan: LogicalPlan): LogicalPlan = plan transform { | ||
|
||
| case _ @ DeserializeToObject(Invoke( | ||
| MapObjects(_, _, _, Cast(LambdaVariable(_, _, dataType, _), castDataType, _), | ||
| inputData, None), | ||
| funcName, returnType: ObjectType, arguments, propagateNull, returnNullable), | ||
| outputObjAttr, child) if dataType == castDataType => | ||
| DeserializeToObject(Invoke( | ||
| inputData, funcName, returnType, arguments, propagateNull, returnNullable), | ||
| outputObjAttr, child) | ||
| case _ @ DeserializeToObject(Invoke( | ||
| MapObjects(_, _, _, LambdaVariable(_, _, dataType, _), inputData, None), | ||
| case DeserializeToObject(Invoke( | ||
| MapObjects(_, _, _, _ : LambdaVariable, inputData, None), | ||
|
||
| funcName, returnType: ObjectType, arguments, propagateNull, returnNullable), | ||
| outputObjAttr, child) => | ||
| DeserializeToObject(Invoke( | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This comment is obscure. Can we improve it a bit?
For example,
MapObject(e)is confusing. Shall we clearly say the lambdaFunction ofMapObject?There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks, done