Details
-
New Feature
-
Status: Resolved
-
Minor
-
Resolution: Incomplete
-
None
-
None
Description
SPARK-12321 add a framework based on reflection that can serialize TreeNode to JSON and deserialize it back. However, it can't handle all corner cases and we bypass them in the test, see https://github.com/apache/spark/pull/10311/files#diff-238d584c15e16c24f49a40bcf163fe13R190 and https://github.com/apache/spark/pull/10311/files#diff-238d584c15e16c24f49a40bcf163fe13R212.
known corner cases:
1. ExpressionEncoder
2. BaseRelation
3. hive logical plan
4. physical plan
The framework is in catalyst module and may not be able to handle corner cases from other modules, an idea is defining a JsonSerializable trait and implement it for corner cases.