Feast
Important Capabilities
| Capability | Status | Notes | 
|---|---|---|
| Descriptions | ✅ | Enabled by default | 
| Schema Metadata | ✅ | Enabled by default | 
| Table-Level Lineage | ✅ | Enabled by default | 
This plugin extracts:
- Entities as 
MLPrimaryKey - Fields as 
MLFeature - Feature views and on-demand feature views as 
MLFeatureTable - Batch and stream source details as 
Dataset - Column types associated with each entity and feature
 
CLI based Ingestion
Install the Plugin
The feast source works out of the box with acryl-datahub.
Starter Recipe
Check out the following recipe to get started with ingestion! See below for full configuration options.
For general pointers on writing and running a recipe, see our main recipe guide.
source:
  type: feast
  config:
    # Coordinates
    path: "/path/to/repository/"
    # Options
    environment: "PROD"
sink:
  # sink configs
Config Details
- Options
 - Schema
 
Note that a . is used to denote nested fields in the YAML recipe.
| Field | Description | 
|---|---|
path ✅  string  | Path to Feast repository | 
enable_owner_extraction  boolean  | If this is disabled, then we NEVER try to map owners. If this is enabled, then owner_mappings is REQUIRED to extract ownership.  Default: False  | 
enable_tag_extraction  boolean  | If this is disabled, then we NEVER try to extract tags.  Default: False  | 
environment  string  | Environment to use when constructing URNs  Default: PROD  | 
fs_yaml_file  string  | Path to the feature_store.yaml file used to configure the feature store | 
owner_mappings  array  | Mapping of owner names to owner types | 
owner_mappings.map  map(str,string)  | 
The JSONSchema for this configuration is inlined below.
{
  "title": "FeastRepositorySourceConfig",
  "type": "object",
  "properties": {
    "path": {
      "title": "Path",
      "description": "Path to Feast repository",
      "type": "string"
    },
    "fs_yaml_file": {
      "title": "Fs Yaml File",
      "description": "Path to the `feature_store.yaml` file used to configure the feature store",
      "type": "string"
    },
    "environment": {
      "title": "Environment",
      "description": "Environment to use when constructing URNs",
      "default": "PROD",
      "type": "string"
    },
    "owner_mappings": {
      "title": "Owner Mappings",
      "description": "Mapping of owner names to owner types",
      "type": "array",
      "items": {
        "type": "object",
        "additionalProperties": {
          "type": "string"
        }
      }
    },
    "enable_owner_extraction": {
      "title": "Enable Owner Extraction",
      "description": "If this is disabled, then we NEVER try to map owners. If this is enabled, then owner_mappings is REQUIRED to extract ownership.",
      "default": false,
      "type": "boolean"
    },
    "enable_tag_extraction": {
      "title": "Enable Tag Extraction",
      "description": "If this is disabled, then we NEVER try to extract tags.",
      "default": false,
      "type": "boolean"
    }
  },
  "required": [
    "path"
  ],
  "additionalProperties": false
}
Code Coordinates
- Class Name: 
datahub.ingestion.source.feast.FeastRepositorySource - Browse on GitHub
 
Questions
If you've got any questions on configuring ingestion for Feast, feel free to ping us on our Slack.
Is this page helpful?