GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — feast-java-old/serving at master · feast-dev/feast-java-old

Expand file tree

/

serving

/
Copy path

Directory actions

More options

More options

Directory actions

More options

More options

Latest commit

 

History

History
History
/

serving

/
Copy path

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
src
src
 
 
.dockerignore
.dockerignore
 
 
.gitignore
.gitignore
 
 
README.md
README.md
 
 
pom.xml
pom.xml
 
 

README.md

Outline

Getting Started Guide for Feast Serving Developers

Pre-requisites:

  • Maven build tool version 3.6.x
  • A running Feast Core instance
  • A running Store instance e.g. local Redis Store instance

From the Feast project root directory, run the following Maven command to start Feast Serving gRPC service running on port 6566 locally:

# Assumptions: 
# - Local Feast Core is running on localhost:6565
# Uses configuration from serving/src/main/resources/application.yml
mvn -pl serving spring-boot:run -Dspring-boot.run.arguments=\
--feast.core-host=localhost,\
--feast.core-port=6565

If you have grpc_cli installed, you can check that Feast Serving is running

grpc_cli ls localhost:6566
grpc_cli call localhost:6566 GetFeastServingVersion ''
grpc_cli call localhost:6566 GetFeastServingType ''
grpc_cli call localhost:6565 ApplyFeatureSet '
feature_set {
  name: "driver"
  entities {
    name: "driver_id"
    value_type: STRING
  }
  features {
    name: "city"
    value_type: STRING
  }
  features {
    name: "booking_completed_count"
    value_type: INT64
  }
  source {
    type: KAFKA
    kafka_source_config {
      bootstrap_servers: "localhost:9092"
    }
  }
}
'

grpc_cli call localhost:6565 GetFeatureSets '
filter {
  feature_set_name: "driver"
}
'

grpc_cli call localhost:6566 GetBatchFeatures '
feature_sets {
  name: "driver"
  feature_names: "booking_completed_count"
  max_age {
    seconds: 86400
  }
}
entity_dataset {
  entity_names: "driver_id"
  entity_dataset_rows {
    entity_timestamp {
      seconds: 1569873954
    }
  }
}
'
python3 <<EOF
import pandas as pd
import fastavro

with open("/tmp/000000000000.avro", "rb") as f:
    reader = fastavro.reader(f)
    records = [r for r in reader]
    df = pd.DataFrame.from_records(records)
    print(df.columns)
    print(df.shape)
    print(df.head(5))
EOF

Working with Feast 0.10+

Feast serving supports reading feature values materialized into Redis by feast 0.10+. To configure this, feast-serving needs to be able to read the registry file for the project. The location of the registry file can be specified in the application.yml like so:

feast:
  registry: "src/test/resources/docker-compose/feast10/registry.db"

This changes the behaviour of feast-serving to look up feature view definitions and specifications from the registry file instead of the core service.

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.