Github user marmbrus commented on a diff in the pull request:
https://github.com/apache/spark/pull/10295#discussion_r47577855
--- Diff:
sql/catalyst/src/main/scala/org/apache/spark/sql/catalyst/plans/QueryPlan.scala
---
@@ -170,4 +174,27 @@ abstract class QueryPlan[PlanType <:
TreeNode[PlanType]] extends TreeNode[PlanTy
protected def statePrefix = if (missingInput.nonEmpty &&
children.nonEmpty) "!" else ""
override def simpleString: String = statePrefix + super.simpleString
+
+ protected def childrenJson: JValue = {
+ if (children.isEmpty) {
+ JNothing
+ } else if (children.length == 1) {
+ "child" -> children.head.jsonValue
+ } else if (children.length == 2) {
+ ("left" -> children(0).jsonValue) ~ ("right" ->
children(1).jsonValue)
+ } else {
+ "children" -> children.map(_.jsonValue)
--- End diff --
I think that storing this as nested JSON is going to make this very hard to
query (think about what Spark SQL's JSON schema inference is going to end up
with if we use it on this data). Did you look at @nongli 's proposed JSON? I
think keeping the tree structure implicit is going to give you a schema that is
much easier to query.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]