/
lineage_messages.proto
64 lines (53 loc) · 1.29 KB
/
lineage_messages.proto
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
syntax = "proto3";
package com.google.cloud.solutions.datalineage.model;
message CompositeLineage {
int64 reconcileTime = 1;
JobInformation jobInformation = 2;
TableLineage tableLineage = 5;
repeated ColumnLineage columnsLineage = 10;
}
message JobInformation {
string jobId = 1;
int64 jobTime = 2;
string jobType = 5;
string actuator = 10;
TransformInformation transform = 15;
}
message TransformInformation {
string sql = 1;
// Extendable information to capture software versions etc. add fields like Pipeline version etc.
map<string, string> transform_properties = 2;
}
message TableLineage {
DataEntity target = 1;
string operation = 2;
repeated DataEntity parents = 5;
}
message ColumnLineage {
ColumnEntity target = 1;
repeated string operations = 2;
repeated ColumnEntity parents = 5;
}
message DataEntity {
enum DataEntityTypes {
UNKNOWN = 0;
QUERY_LEVEL_TABLE = 1;
CLOUD_STORAGE_FILE = 5;
BIGQUERY_TABLE = 10;
}
DataEntityTypes kind = 1;
string sqlResource = 2;
string linkedResource = 3;
}
message ColumnEntity {
DataEntity table = 1;
string column = 2;
}
message TargetPolicyTags {
DataEntity table = 1;
repeated ColumnPolicyTags policyTags = 5;
}
message ColumnPolicyTags {
string column = 1;
repeated string policyTagIds = 2;
}