Skip to content

Commit 27785ee

Browse files
committed
WIP
1 parent f5cde30 commit 27785ee

File tree

1 file changed

+59
-6
lines changed

1 file changed

+59
-6
lines changed

api/thrift/orchestration.thrift

Lines changed: 59 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,60 @@ enum LogicalType {
3939
TABULAR_DATA = 5
4040
}
4141

42+
struct NodeKey {
43+
1: optional string name
4244

45+
2: optional LogicalType logicalType
46+
3: optional PhysicalNodeType physicalType
47+
48+
/**
49+
* represents the computation of the node including the computation of all its parents
50+
* direct and indirect changes that change output will affect lineage hash
51+
**/
52+
10: optional string lineageHash
53+
}
54+
55+
struct NodeInfo {
56+
/**
57+
* represents the computation that a node does
58+
* direct changes to conf that change output will affect semantic hash
59+
* changing spark params etc shouldn't affect this
60+
**/
61+
11: optional string semanticHash
62+
63+
/**
64+
* simple hash of the entire conf (that is TSimpleJsonProtocol serialized),
65+
* computed by cli and used to check if new conf_json need to be pushed from user's machine
66+
**/
67+
12: optional string confHash
68+
69+
/**
70+
* when new/updated conf's are pushed the branch is also set from the cli
71+
* upon merging the branch will be unset
72+
**/
73+
20: optional string branch
74+
75+
/**
76+
* will be set to the author of the last semantic change to node
77+
* (non-semantic changes like code-mods or spark params don't affect this)
78+
**/
79+
21: optional string author
80+
81+
/**
82+
* contents of the conf itself
83+
**/
84+
30: optional LogicalNode conf
85+
}
86+
87+
struct NodeConnections {
88+
1: optional list<NodeKey> parents
89+
2: optional list<NodeKey> children
90+
}
91+
92+
struct NodeGraph {
93+
1: optional map<NodeKey, NodeConnections> connections
94+
2: optional map<NodeKey, NodeInfo> infoMap
95+
}
4396

4497

4598

@@ -96,12 +149,12 @@ union PhysicalNodeType {
96149
}
97150

98151
struct PhysicalNode {
99-
1: required string name,
100-
2: required PhysicalNodeType nodeType,
101-
3: required LogicalNode logicalNode,
102-
4: required string confHash,
103-
5: required list<common.TableDependency> tableDependencies,
104-
6: required list<string> outputColumns,
152+
1: required string name
153+
2: required PhysicalNodeType nodeType
154+
3: required LogicalNode logicalNode
155+
4: required string confHash
156+
5: required list<common.TableDependency> tableDependencies
157+
6: required list<string> outputColumns
105158
7: required string output_table
106159
}
107160

0 commit comments

Comments
 (0)