-
Notifications
You must be signed in to change notification settings - Fork 1.3k
Expand file tree
/
Copy pathFeatureService.proto
More file actions
112 lines (85 loc) · 2.98 KB
/
FeatureService.proto
File metadata and controls
112 lines (85 loc) · 2.98 KB
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
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
syntax = "proto3";
package feast.core;
option go_package = "github.com/feast-dev/feast/go/protos/feast/core";
option java_outer_classname = "FeatureServiceProto";
option java_package = "feast.proto.core";
import "google/protobuf/timestamp.proto";
import "feast/core/FeatureViewProjection.proto";
message FeatureService {
// User-specified specifications of this feature service.
FeatureServiceSpec spec = 1;
// System-populated metadata for this feature service.
FeatureServiceMeta meta = 2;
}
message FeatureServiceSpec {
// Name of the Feature Service. Must be unique. Not updated.
string name = 1;
// Name of Feast project that this Feature Service belongs to.
string project = 2;
// Represents a projection that's to be applied on top of the FeatureView.
// Contains data such as the features to use from a FeatureView.
repeated FeatureViewProjection features = 3;
// User defined metadata
map<string,string> tags = 4;
// Description of the feature service.
string description = 5;
// Owner of the feature service.
string owner = 6;
// (optional) if provided logging will be enabled for this feature service.
LoggingConfig logging_config = 7;
}
message FeatureServiceMeta {
// Time where this Feature Service is created
google.protobuf.Timestamp created_timestamp = 1;
// Time where this Feature Service is last updated
google.protobuf.Timestamp last_updated_timestamp = 2;
}
message LoggingConfig {
float sample_rate = 1;
oneof destination {
FileDestination file_destination = 3;
BigQueryDestination bigquery_destination = 4;
RedshiftDestination redshift_destination = 5;
SnowflakeDestination snowflake_destination = 6;
CustomDestination custom_destination = 7;
AthenaDestination athena_destination = 8;
CouchbaseColumnarDestination couchbase_columnar_destination = 9;
}
message FileDestination {
string path = 1;
string s3_endpoint_override = 2;
// column names to use for partitioning
repeated string partition_by = 3;
}
message BigQueryDestination {
// Full table reference in the form of [project:dataset.table]
string table_ref = 1;
}
message RedshiftDestination {
// Destination table name. ClusterId and database will be taken from an offline store config
string table_name = 1;
}
message AthenaDestination {
// Destination table name. data_source and database will be taken from an offline store config
string table_name = 1;
}
message SnowflakeDestination {
// Destination table name. Schema and database will be taken from an offline store config
string table_name = 1;
}
message CustomDestination {
string kind = 1;
map<string, string> config = 2;
}
message CouchbaseColumnarDestination {
// Destination database name
string database = 1;
// Destination scope name
string scope = 2;
// Destination collection name
string collection = 3;
}
}
message FeatureServiceList {
repeated FeatureService featureservices = 1;
}