You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@tajo.apache.org by Apache Wiki <wi...@apache.org> on 2014/04/02 14:37:30 UTC
[Tajo Wiki] Update of "LogicalNodeConvertStandard" by JihoonSon
Dear Wiki user,
You have subscribed to a wiki page or wiki category on "Tajo Wiki" for change notification.
The "LogicalNodeConvertStandard" page has been changed by JihoonSon:
https://wiki.apache.org/tajo/LogicalNodeConvertStandard
New page:
= JSON Standard =
== Common Properties ==
* A logical node is represented as a "Plan"
* Every plan has the "PlanType" property
* Every unary plan has a "Plan" property
* Every binary plan has two "Plan" properties
* Union plan has a "Plans" property which contains two or more "Plan" properties
== Component Description ==
=== Projection ===
* Required properties
* Name
* Optional properties
* Alias
{{{
"Projection": {
"Name": "r_name"
"Alias": "name_1"
}
}}}
=== Condition ===
* Required properties
* Qual
{{{
"Condition": {
"Qual": "r_regionkey = 1"
}
}}}
== Individual Plan Description ==
=== ScanNode ===
* The PlanType is SCAN
* Required properties
* RelationName
* Optional properties
* Projections, Conditions
* The Projections (Conditions) property has one or more Projection (Condition) properties
{{{
"Plan": {
"PlanType": "SCAN"
"RelationName": "region"
"Projections": {
"Projection": {
"Name": "r_name"
}
}
"Conditions": {
"Cond": "r_regionkey = 1"
}
}
}}}
=== GroupByNode ===
* Union plan
* The PlanType is GROUP_BY
* Required properties
* Grouping keys
* Measures
* The Measures property has one or more Projection properties
* Optional properties
* Conditions
* Having conditions
{{{
"Plan": {
"PlanType": "GROUP_BY"
"Keys": {
"Key": "r_name"
}
"Measures": {
"Projection": {
"Name": "sum(r_regionkey)"
"Alias": "sum_key"
}
}
"Plan" {
"PlanType": "SCAN"
"RelationName": "region"
"Projections": {
"Projection": {
"Name": "r_name"
}
"Projection": {
"Name": "r_regionkey"
}
}
}
}
}}}
=== JoinNode ===
* Binary plan
* The PlanType is JOIN
* Each child plan has the ParentRelationship property
* Required properties
* JoinType
* Optional properties
* Conditions
* Join conditions
{{{
"Plan": {
"PlanType": "JOIN"
"JoinType": "INNER"
"Conditions": {
"Cond": "r_regionkey = n_regionkey"
}
"Plan" {
"PlanType": "SCAN"
"ParentRelationship": "Outer"
"RelationName": "region"
"Projections": {
"Projection": {
"Name": "r_regionkey"
}
}
}
"Plan" {
"PlanType": "SCAN"
"ParentRelationship": "Inner"
"RelationName": "nation"
"Projections": {
"Projection": {
"Name": "n_regionkey"
}
}
}
}
}}}