0
# CLI Operations
1
2
The Feast command-line interface provides essential tools for managing feature store operations, deployments, and development workflows. The CLI enables feature engineering teams to interact with Feast through standardized commands for repository management, feature serving, and data operations.
3
4
## Capabilities
5
6
### Repository Management
7
8
Initialize and manage Feast repositories with configuration templates and project setup.
9
10
```bash
11
# Initialize new Feast repository
12
feast init PROJECT_NAME
13
14
# Initialize with custom template
15
feast init PROJECT_NAME --template TEMPLATE_NAME
16
17
# Initialize minimal repository
18
feast init PROJECT_NAME --minimal
19
```
20
21
### Feature Definition Management
22
23
Apply and manage feature definitions including entities, feature views, and feature services.
24
25
```bash
26
# Apply all feature definitions from repository
27
feast apply
28
29
# Apply specific feature definitions
30
feast apply --feature-views FEATURE_VIEW_NAME
31
32
# Validate definitions without applying
33
feast plan
34
35
# Show differences between local and registry
36
feast diff
37
```
38
39
### Feature Materialization
40
41
Materialize features from offline to online stores for serving with various scheduling and filtering options.
42
43
```bash
44
# Materialize features for date range
45
feast materialize START_TIMESTAMP END_TIMESTAMP
46
47
# Materialize specific feature views
48
feast materialize START_TIMESTAMP END_TIMESTAMP --feature-views FEATURE_VIEW_NAMES
49
50
# Incremental materialization since last run
51
feast materialize-incremental END_TIMESTAMP
52
53
# Materialize with custom scheduling
54
feast materialize START_TIMESTAMP END_TIMESTAMP --schedule "0 */4 * * *"
55
```
56
57
### Feature Serving
58
59
Start and manage feature servers for production serving with HTTP and gRPC protocols.
60
61
```bash
62
# Start HTTP feature server
63
feast serve
64
65
# Start with custom host and port
66
feast serve --host 0.0.0.0 --port 8080
67
68
# Start gRPC server
69
feast serve --type grpc --port 6566
70
71
# Start with access logging disabled
72
feast serve --no-access-log
73
74
# Start offline feature server
75
feast serve-offline --host 0.0.0.0 --port 8081
76
77
# Start registry server
78
feast serve-registry --host 0.0.0.0 --port 6570
79
80
# Start transformation server
81
feast serve-transformations --host 0.0.0.0 --port 6569
82
```
83
84
### Feature Retrieval
85
86
Retrieve features directly from the command line for testing and debugging.
87
88
```bash
89
# Get online features
90
feast get-online-features \
91
--feature-service FEATURE_SERVICE_NAME \
92
--entity KEY=VALUE
93
94
# Get historical features
95
feast get-historical-features \
96
--feature-service FEATURE_SERVICE_NAME \
97
--entity-df ENTITY_DATAFRAME_PATH \
98
--output OUTPUT_PATH
99
```
100
101
### Repository Inspection
102
103
Inspect and list feature store objects for debugging and exploration.
104
105
```bash
106
# List all entities
107
feast entities list
108
109
# Describe specific entity
110
feast entities describe ENTITY_NAME
111
112
# List all feature views
113
feast feature-views list
114
115
# Describe specific feature view
116
feast feature-views describe FEATURE_VIEW_NAME
117
118
# List all feature services
119
feast feature-services list
120
121
# Describe specific feature service
122
feast feature-services describe FEATURE_SERVICE_NAME
123
124
# List all data sources
125
feast data-sources list
126
127
# Describe specific data source
128
feast data-sources describe DATA_SOURCE_NAME
129
```
130
131
### Project Management
132
133
Manage Feast projects and their configurations.
134
135
```bash
136
# List all projects
137
feast projects list
138
139
# Create new project
140
feast projects create PROJECT_NAME
141
142
# Delete project
143
feast projects delete PROJECT_NAME
144
145
# Switch to project
146
feast projects set PROJECT_NAME
147
```
148
149
### User Interface
150
151
Launch web-based interfaces for visual feature store management and exploration.
152
153
```bash
154
# Start Feast web UI
155
feast ui
156
157
# Start UI on custom host and port
158
feast ui --host 0.0.0.0 --port 8888
159
160
# Start UI with registry connection
161
feast ui --registry-ttl-sec 60
162
```
163
164
### Validation and Testing
165
166
Validate feature store configurations and test feature definitions.
167
168
```bash
169
# Validate feature store configuration
170
feast validate
171
172
# Run feature store tests
173
feast test
174
175
# Validate specific feature views
176
feast validate --feature-views FEATURE_VIEW_NAMES
177
178
# Check data source connectivity
179
feast data-sources validate DATA_SOURCE_NAME
180
```
181
182
### Registry Operations
183
184
Manage feature registry operations and metadata synchronization.
185
186
```bash
187
# Dump registry contents to console
188
feast registry-dump
189
190
# Refresh registry cache
191
feast registry refresh
192
193
# Export registry contents
194
feast registry export --output registry_backup.json
195
196
# Import registry contents
197
feast registry import --input registry_backup.json
198
199
# Registry metadata operations
200
feast registry describe
201
```
202
203
### System Operations
204
205
System-level operations for deployment and infrastructure management.
206
207
```bash
208
# Show Feast version
209
feast version
210
211
# Display current configuration
212
feast configuration
213
214
# Show feature server endpoints
215
feast endpoint
216
217
# Tear down deployed infrastructure
218
feast teardown
219
220
# Delete specific Feast objects
221
feast delete OBJECT_ID
222
223
# Listen for streaming updates
224
feast listen --address localhost:50051
225
```
226
227
### Permission Management
228
229
Manage access control and permissions for feature store resources.
230
231
```bash
232
# List permissions
233
feast permissions list
234
235
# Create permission
236
feast permissions create PERMISSION_NAME --actions ACTION_LIST --resources RESOURCE_LIST
237
238
# Delete permission
239
feast permissions delete PERMISSION_NAME
240
241
# Describe permission
242
feast permissions describe PERMISSION_NAME
243
244
# Apply permissions from file
245
feast permissions apply PERMISSIONS_FILE
246
```
247
248
## Configuration Options
249
250
### Global CLI Options
251
252
Common command-line options available across most Feast commands.
253
254
```bash
255
# Specify feature store repository path
256
feast --repo-path /path/to/repo COMMAND
257
258
# Set log level
259
feast --log-level DEBUG COMMAND
260
261
# Use specific configuration file
262
feast --config /path/to/feature_store.yaml COMMAND
263
264
# Disable colored output
265
feast --no-color COMMAND
266
```
267
268
### Environment Variables
269
270
Environment variables that configure Feast CLI behavior.
271
272
```bash
273
# Feature store configuration file path
274
export FEAST_FS_YAML_FILE_PATH=/path/to/feature_store.yaml
275
276
# Default repository path
277
export FEAST_REPO_PATH=/path/to/repo
278
279
# Registry server endpoint
280
export FEAST_REGISTRY_SERVER_HOST=localhost
281
export FEAST_REGISTRY_SERVER_PORT=6570
282
283
# Authentication settings
284
export FEAST_AUTH_TYPE=oidc
285
export FEAST_AUTH_CLIENT_ID=feast-client
286
```
287
288
## Usage Examples
289
290
### Complete Development Workflow
291
292
```bash
293
# Initialize new project
294
feast init my_feature_store
295
cd my_feature_store
296
297
# Apply feature definitions
298
feast apply
299
300
# Validate configuration
301
feast validate
302
303
# Materialize historical data
304
feast materialize 2023-01-01T00:00:00 2023-01-31T23:59:59
305
306
# Start feature server for testing
307
feast serve --host 0.0.0.0 --port 6566 &
308
309
# Test online feature retrieval
310
feast get-online-features \
311
--feature-service driver_ranking_service \
312
--entity driver=1001
313
314
# Start web UI for exploration
315
feast ui --port 8888
316
```
317
318
### Production Deployment Commands
319
320
```bash
321
# Apply production configurations
322
feast apply --environment production
323
324
# Materialize features for production serving
325
feast materialize-incremental $(date -u +"%Y-%m-%dT%H:%M:%S")
326
327
# Start production feature server
328
feast serve \
329
--host 0.0.0.0 \
330
--port 6566 \
331
--type http \
332
--workers 4
333
334
# Start registry server for metadata serving
335
feast serve-registry \
336
--host 0.0.0.0 \
337
--port 6570 \
338
--workers 2
339
340
# Monitor registry health
341
feast registry describe
342
```
343
344
### Debugging and Inspection
345
346
```bash
347
# Check feature store status
348
feast status
349
350
# Inspect specific feature view
351
feast feature-views describe customer_features
352
353
# Validate data source connectivity
354
feast data-sources validate customer_data_source
355
356
# Show feature lineage
357
feast lineage show --feature-view customer_features
358
359
# Export current registry state
360
feast registry export --output backup_$(date +%Y%m%d).json
361
362
# List materialization history
363
feast materialization list --feature-view customer_features
364
```
365
366
### CI/CD Integration
367
368
```bash
369
# Validate changes in CI pipeline
370
feast plan --detailed
371
372
# Apply changes if validation passes
373
if feast validate; then
374
feast apply
375
echo "Feature definitions applied successfully"
376
else
377
echo "Validation failed"
378
exit 1
379
fi
380
381
# Automated materialization
382
feast materialize-incremental $(date -u +"%Y-%m-%dT%H:%M:%S") \
383
--feature-views production_features
384
385
# Health check for deployment
386
curl -f http://localhost:6566/health || exit 1
387
```
388
389
### Batch Operations
390
391
```bash
392
# Apply multiple feature views
393
feast apply \
394
--feature-views customer_features,driver_features,order_features
395
396
# Materialize multiple feature views in parallel
397
feast materialize 2023-01-01T00:00:00 2023-01-31T23:59:59 \
398
--feature-views customer_features,driver_features \
399
--parallel
400
401
# Bulk export historical features
402
feast get-historical-features \
403
--feature-service training_service \
404
--entity-df entities.csv \
405
--output training_data.parquet \
406
--format parquet
407
```
408
409
## Error Handling and Troubleshooting
410
411
### Common Error Scenarios
412
413
```bash
414
# Debug registry connection issues
415
feast validate --verbose
416
417
# Check feature view dependencies
418
feast feature-views validate FEATURE_VIEW_NAME --check-dependencies
419
420
# Verify data source accessibility
421
feast data-sources test DATA_SOURCE_NAME
422
423
# Debug materialization failures
424
feast materialize START END --dry-run --verbose
425
426
# Check permission issues
427
feast permissions check --resource RESOURCE_NAME --action ACTION
428
```