Skip to content

Commit

Permalink
GitBook: [master] 31 pages modified
Browse files Browse the repository at this point in the history
  • Loading branch information
Randall authored and gitbook-bot committed Nov 2, 2020
1 parent 8d1326f commit c3d0d43
Show file tree
Hide file tree
Showing 24 changed files with 217 additions and 195 deletions.
22 changes: 19 additions & 3 deletions docs/README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# Introduction

Feast \(**Fea**ture **St**ore\) is a tool for managing and serving machine learning features.
### What is Feast?

> Feast is the bridge between your models and your data
Feast \(**Fea**ture **St**ore\) is a tool for managing and serving machine learning features.

Feast aims to:

* Provide a unified means of managing feature data from a single person to large enterprises.
* Provide a unified means of managing feature data, whether you are a single user or a large enterprise.
* Provide scalable and performant access to feature data when training and serving models.
* Provide consistent and point-in-time correct access to feature data.
* Enable discovery, documentation, and insights into your features.
Expand All @@ -17,3 +17,19 @@ Feast decouples feature engineering from feature usage. Features that are added

This means that new ML projects start with a process of feature selection from a catalog instead of having to do feature engineering from scratch.

### How can I get started?

{% hint style="info" %}
The best way to learn Feast is to use it. Jump over to our [Quickstart](quickstart.md) guide to have one of our examples running in no time at all!
{% endhint %}

Explore the following resources to get started with Feast:

* The [Getting Started](getting-started/) section provides guides on [Installing Feast](getting-started/install-feast/) and [Connecting to Feast](getting-started/connect-to-feast/).
* The [Concepts](./) section describes all important Feast API concepts.
* The [User guide](user-guide/data-ingestion.md) section provides guidance on completing Feast workflows.
* The [Examples](https://github.com/feast-dev/feast/tree/master/examples) section contains Jupyter notebooks that you can run on your Feast deployment.
* The [Advanced](advanced/stores.md) section contains information about both advanced and operational aspects of Feast.
* The [Reference](reference/api/) section contains detailed API and design documents for advanced users.
* The [Contributing](contributing/contributing.md) section contains resources for anyone who wants to contribute to Feast.

20 changes: 10 additions & 10 deletions docs/SUMMARY.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
# Table of contents

* [Introduction](README.md)
* [Why Feast?](why-feast.md)
* [Quickstart](quickstart.md)
* [Getting Started](getting-started/README.md)
* [Deploying Feast](getting-started/deploying-feast/README.md)
* [Kubernetes](getting-started/deploying-feast/kubernetes.md)
* [Kubernetes \(Amazon EKS\) with Terraform](getting-started/deploying-feast/kubernetes-amazon-eks-with-terraform.md)
* [Connecting to Feast](getting-started/connecting-to-feast-1/README.md)
* [Python SDK](getting-started/connecting-to-feast-1/python-sdk.md)
* [Feast CLI](getting-started/connecting-to-feast-1/connecting-to-feast.md)
* [Install Feast](getting-started/install-feast/README.md)
* [Kubernetes \(with Helm\)](getting-started/install-feast/kubernetes-with-helm.md)
* [Amazon EKS \(with Terraform\)](getting-started/install-feast/kubernetes-amazon-eks-with-terraform.md)
* [Connect to Feast](getting-started/connect-to-feast/README.md)
* [Python SDK](getting-started/connect-to-feast/python-sdk.md)
* [Feast CLI](getting-started/connect-to-feast/connecting-to-feast.md)
* [Learn Feast](getting-started/learn-feast.md)
* [Roadmap](roadmap.md)
* [Changelog](https://github.com/feast-dev/feast/blob/master/CHANGELOG.md)
* [Community](getting-help.md)
Expand Down Expand Up @@ -44,15 +44,15 @@

## Reference

* [Metrics Reference](reference/metrics-reference.md)
* [Configuration Reference](reference/configuration-reference.md)
* [API, Supported Versions & Deprecation](reference/api-supported-versions-and-deprecation.md)
* [API Reference](reference/api/README.md)
* [Core gRPC API](https://api.docs.feast.dev/grpc/feast.core.pb.html)
* [Serving gRPC API](https://api.docs.feast.dev/grpc/feast.serving.pb.html)
* [gRPC Types](https://api.docs.feast.dev/grpc/feast.types.pb.html)
* [Configuration Reference](reference/configuration-reference/README.md)
* [Go SDK](https://godoc.org/github.com/feast-dev/feast/sdk/go)
* [Metrics Reference](reference/metrics-reference/README.md)
* [Java SDK](https://javadoc.io/doc/dev.feast/feast-sdk)
* [API, Supported Versions & Deprecation](reference/api-supported-versions-and-deprecation/README.md)
* [Python SDK](https://api.docs.feast.dev/python/)
* [Limitations](reference/limitations.md)
* [Design Decisions](reference/design-decisions.md)
Expand Down
4 changes: 2 additions & 2 deletions docs/advanced/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Feast Components export metrics that can provide insight into Feast behavior:
* [Feast Ingestion Jobs can be configured to push metrics into StatsD](metrics.md#2-exporting-feast-metrics-to-prometheus)
* [Prometheus can be configured to scrap metrics from Feast Core and Serving.](metrics.md#2-exporting-feast-metrics-to-prometheus)

See the [Metrics Reference ](../reference/metrics-reference.md)for documentation on metrics are exported by Feast.
See the [Metrics Reference ](../reference/metrics-reference/)for documentation on metrics are exported by Feast.

{% hint style="info" %}
Feast Job Controller currently does not export any metrics on its own. However its `application.yml` is used to configure metrics export for ingestion jobs.
Expand Down Expand Up @@ -51,7 +51,7 @@ server:

## 3. Futher Reading.

See the [Metrics Reference ](../reference/metrics-reference.md)for documentation on metrics are exported by Feast.
See the [Metrics Reference ](../reference/metrics-reference/)for documentation on metrics are exported by Feast.

##

4 changes: 2 additions & 2 deletions docs/advanced/security.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ The following properties configure SSL/TLS. These properties are located in thei
### Configuring SSL/TLS on Python SDK/CLI

To enable SSL/TLS in the [Feast Python SDK](https://api.docs.feast.dev/python/#feast.client.Client) or [Feast CLI](../getting-started/connecting-to-feast-1/connecting-to-feast.md), set the config options via `feast config`:
To enable SSL/TLS in the [Feast Python SDK](https://api.docs.feast.dev/python/#feast.client.Client) or [Feast CLI](../getting-started/connect-to-feast/connecting-to-feast.md), set the config options via `feast config`:

| Configuration Option | Description |
| :--- | :--- |
Expand Down Expand Up @@ -188,7 +188,7 @@ OAuth Provider makes an OAuth [client credentials](https://auth0.com/docs/flows/

### **Enabling Authentication in Python SDK/CLI**

Configure the [Feast Python SDK](https://api.docs.feast.dev/python/) and [Feast CLI](../getting-started/connecting-to-feast-1/connecting-to-feast.md) to use authentication via `feast config`:
Configure the [Feast Python SDK](https://api.docs.feast.dev/python/) and [Feast CLI](../getting-started/connect-to-feast/connecting-to-feast.md) to use authentication via `feast config`:

```python
$ feast config set enable_auth true
Expand Down
2 changes: 1 addition & 1 deletion docs/advanced/upgrading.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Feast now prevents feature sets from being applied if no store is subscribed to

### Feast Core's Job Coordinator is now Feast Job Controller

In v0.7, Feast Core's Job Coordinator has been decoupled from Feast Core and runs as a separate Feast Job Controller application. See its [Configuration reference](../reference/configuration-reference.md#2-feast-core-serving-and-job-controller) for how to configure Feast Job Controller.
In v0.7, Feast Core's Job Coordinator has been decoupled from Feast Core and runs as a separate Feast Job Controller application. See its [Configuration reference](../reference/configuration-reference/#2-feast-core-serving-and-job-controller) for how to configure Feast Job Controller.

**Ingestion Job API**

Expand Down
2 changes: 1 addition & 1 deletion docs/concepts/architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ Feast Core is the central management service of a Feast deployment. It's role is

Before you ingest data into Feast, first register one or more entity, then register feature tables. These [feature tables](feature-tables.md) tell Feast where to find their data and how to ingest it. The feature tables also describe the characteristics of the data for validation purposes. After a feature table is registered, you can start a Spark job to populate a store with data from the defined source in the feature table specification.

To ensure stores are populated with data, you must publish the data to a [source](sources.md). Currently, Feast supports a few batch and stream sources. Feast users \(or pipelines\) ingest batch data through the [Feast Python SDK](../getting-started/connecting-to-feast-1/python-sdk.md) using its `ingest()` method. The SDK publishes the data into the batch source specified for the feature table's batch source.
To ensure stores are populated with data, you must publish the data to a [source](sources.md). Currently, Feast supports a few batch and stream sources. Feast users \(or pipelines\) ingest batch data through the [Feast Python SDK](../getting-started/connect-to-feast/python-sdk.md) using its `ingest()` method. The SDK publishes the data into the batch source specified for the feature table's batch source.

Streaming systems can also ingest data into Feast. This is done by publishing to the correct stream source from the feature table specification in the expected format. The topic and brokers can be found on the feature table's stream source if specified during registration.

Expand Down
6 changes: 3 additions & 3 deletions docs/contributing/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ For Feast maintainers, these are the concrete steps for making a new release.
3. Check that versions are updated with `env TARGET_MERGE_BRANCH=master make lint-versions`
7. Create a [GitHub release](https://github.com/feast-dev/feast/releases) which includes a summary of im~~p~~ortant changes as well as any artifacts associated with the release. Make sure to include the same change log as added in [CHANGELOG.md](https://github.com/feast-dev/feast/blob/master/CHANGELOG.md). Use `Feast vX.Y.Z` as the title.
8. Update the[ Upgrade Guide](../advanced/upgrading.md) to include the action required instructions for users to upgrade to this new release. Instructions should include a migration for each breaking change made to this release.
9. Update[ Feast Supported Versions](../reference/api-supported-versions-and-deprecation.md#3-supported-versions) to include the supported versions of each component.
9. Update[ Feast Supported Versions](../reference/api-supported-versions-and-deprecation/#3-supported-versions) to include the supported versions of each component.

When a tag that matches a Semantic Version string is pushed, CI will automatically build and push the relevant artifacts to their repositories or package managers \(docker images, Python wheels, etc\). JVM artifacts are promoted from Sonatype OSSRH to Maven Central, but it sometimes takes some time for them to be available. The `sdk/go/v tag` is required to version the Go SDK go module so that users can go get a specific tagged release of the Go SDK.

Expand Down Expand Up @@ -75,8 +75,8 @@ docker run -it --rm ferrarimarco/github-changelog-generator \

### Flag Breaking Changes & Deprecations

It's important to flag breaking changes and deprecation to the API for each release so that we can maintain [API compatibility](../reference/api-supported-versions-and-deprecation.md#2-api-compatibility).
It's important to flag breaking changes and deprecation to the API for each release so that we can maintain [API compatibility](../reference/api-supported-versions-and-deprecation/#2-api-compatibility).

* Developers should have flagged PRs with breaking changes with the `compat/breaking` label. However, it's important to double check each PR's release notes and contents for changes that will break [API compatibility](https://app.gitbook.com/@feast/s/docs/~/drafts/-MGstXoieRglzkPw_d1Q/v/master/reference/api-supported-versions-and-deprecation#2-api-compatibility) and manually label `compat/breaking` to PRs with undeclared breaking changes. The change log will have to be regenerated if any new labels have to be added.
* Record any deprecation in [Deprecations Page](../reference/api-supported-versions-and-deprecation.md#4-deprecations).
* Record any deprecation in [Deprecations Page](../reference/api-supported-versions-and-deprecation/#4-deprecations).

41 changes: 17 additions & 24 deletions docs/getting-help.md
Original file line number Diff line number Diff line change
@@ -1,36 +1,29 @@
# Community

## Chat
### Links & Resources

* Come and say hello in [\#Feast](https://join.slack.com/t/kubeflow/shared_invite/zt-cpr020z4-PfcAue_2nw67~iIDy7maAQ) over in the Kubeflow Slack.
* [Slack](https://kubeflow.slack.com/messages/CE0L8T267): We use the channel [\#Feast](https://kubeflow.slack.com/messages/CE0L8T267) in [kubeflow.slack.com](https://join.slack.com/t/kubeflow/shared_invite/zt-cpr020z4-PfcAue_2nw67~iIDy7maAQ). Feel free to ask questions or say hello!
* [Mailing list](https://groups.google.com/d/forum/feast-dev): We have both a user and developer mailing list.
* Feast users should join [[email protected]](mailto:[email protected]) group by clicking [here](https://groups.google.com/g/feast-discuss).
* Feast developers should join [[email protected]](mailto:[email protected]) group by clicking [here](https://groups.google.com/d/forum/feast-dev).
* [Google Drive](https://drive.google.com/drive/u/0/folders/0AAe8j7ZK3sxSUk9PVA): The above groups will also grant access to our public [Feast Google Drive](https://drive.google.com/drive/u/0/folders/0AAe8j7ZK3sxSUk9PVA). The drive is used as a central repository for all Feast resources. For example:
* Design proposals in the form of Request for Comments \(RFC\).
* User surveys and meeting minutes.
* Slide decks of conferences our contributors have spoken at.
* [Feast GitHub Repository](https://github.com/feast-dev/feast/): Find the complete Feast codebase on GitHub.

## GitHub
### How can I get help?

* Feast's GitHub repo can be [found here](https://github.com/feast-dev/feast/).
* Found a bug or need a feature? [Create an issue on GitHub](https://github.com/feast-dev/feast/issues/new)
* **Slack:** Need to speak to a human? Come ask a question in our Slack channel \(link above\)
* **GitHub Issues:** Found a bug or need a feature? [Create an issue on GitHub](https://github.com/feast-dev/feast/issues/new).
* **StackOverflow:** Need to ask a question on how to use Feast? We also monitor and respond to [StackOverflow](https://stackoverflow.com/questions/tagged/feast).

## Community Call
### Community Call

We have a community call every 2 weeks. Alternating between two times.
We have a community call every 2 weeks. Alternating between two times:

* 11 am \(UTC + 8\)
* 5 pm \(UTC + 8\)

Please join the [feast-dev](getting-help.md#feast-development) mailing list to receive the the calendar invitation.

## Mailing list

### Feast discussion

* Google Group: [https://groups.google.com/d/forum/feast-discuss](https://groups.google.com/d/forum/feast-discuss)
* Mailing List: [[email protected]](mailto:[email protected])

### Feast development

* Google Group: [https://groups.google.com/d/forum/feast-dev](https://groups.google.com/d/forum/feast-dev)
* Mailing List: [[email protected]](mailto:[email protected])

## Google Drive

The Feast community also maintains a [Google Drive](https://drive.google.com/drive/u/0/folders/0AAe8j7ZK3sxSUk9PVA) with documents like RFCs, meeting notes, or roadmaps. Please join one of the above mailing lists \(feast-dev or feast-discuss\) to gain access to the drive.
Join the [feast-dev](getting-help.md#feast-development) mailing list to receive a Google calendar invitation.

18 changes: 12 additions & 6 deletions docs/getting-started/README.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,20 @@
# Getting Started

If you would like to learn more about Feast concepts and its architecture, see the `User Guide`
### Install Feast

If you would like to connect to an existing Feast deployment, click on `Connecting to Feast`
If you would like to deploy a new installation of Feast, click on [Install Feast](install-feast/)

{% page-ref page="connecting-to-feast-1/" %}
{% page-ref page="install-feast/" %}

If you would like to deploy a new installation of Feast, click on `Deploying Feast`
### Connect to Feast

{% page-ref page="deploying-feast/" %}
If you would like to connect to an existing Feast deployment, click on [Connect to Feast](connect-to-feast/)

If you are connected to a running Feast deployment, have a look at our [example tutorials](https://github.com/gojek/feast/tree/master/examples).
{% page-ref page="connect-to-feast/" %}

### Learn Feast

If you would like to learn more about Feast, click on [Learn Feast](learn-feast.md)

{% page-ref page="learn-feast.md" %}

31 changes: 31 additions & 0 deletions docs/getting-started/connect-to-feast/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
# Connect to Feast

### Feast Python SDK

The Feast Python SDK is used as a library to interact with a Feast deployment.

* Define, register, and manage entities and features
* Ingest data into Feast
* Build and retrieve training datasets
* Retrieve online features

{% page-ref page="python-sdk.md" %}

### Feast CLI

The Feast CLI is a command line implementation of the Feast Python SDK.

* Define, register, and manage entities and features from the terminal
* Ingest data into Feast
* Manage ingestion jobs

{% page-ref page="connecting-to-feast.md" %}

### Online Serving Clients

The following clients can be used to retrieve online feature values:

* [Feast Python SDK](https://api.docs.feast.dev/python/)
* [Feast Go SDK](https://godoc.org/github.com/feast-dev/feast/sdk/go)
* [Feast Java SDK](https://javadoc.io/doc/dev.feast/feast-sdk)

Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Install the [Feast Python SDK](https://api.docs.feast.dev/python/) using pip:
pip install feast
```

You can then connect to an existing Feast deployment:
Connect to an existing Feast Core deployment:

```python
from feast import Client
Expand All @@ -18,5 +18,3 @@ client = Client(core_url='feast.example.com:6565')
client.list_feature_tables()
```



27 changes: 0 additions & 27 deletions docs/getting-started/connecting-to-feast-1/README.md

This file was deleted.

8 changes: 0 additions & 8 deletions docs/getting-started/deploying-feast/README.md

This file was deleted.

14 changes: 14 additions & 0 deletions docs/getting-started/install-feast/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# Install Feast

### Kubernetes \(with Helm\)

This guide installs Feast into an existing Kubernetes cluster using Helm. The installation is **not** specific to any cloud platform or environment, but **does** require Kubernetes and Helm.

{% page-ref page="kubernetes-with-helm.md" %}

### Amazon EKS \(with Terraform\)

This guide installs Feast into an AWS environment using Terraform. The Terraform script is opinionated and intended to allow you to start quickly.

{% page-ref page="kubernetes-amazon-eks-with-terraform.md" %}

Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# Kubernetes \(Amazon EKS\) with Terraform
# Amazon EKS \(with Terraform\)

### Overview

Expand Down Expand Up @@ -38,7 +38,7 @@ region = "us-east-1"

### 3. Apply

After completing the configuration, initiate Terraform and apply:
After completing the configuration, initialize Terraform and apply:

```bash
$ cd feast/infra/terraform/aws
Expand All @@ -64,5 +64,5 @@ Forwarding from 127.0.0.1:8888 -> 8888
Forwarding from [::1]:8888 -> 8888
```

You can now connect to the bundled Jupyter Notebook Server at `localhost:8888` and follow the example notebooks.
You can now connect to the bundled Jupyter Notebook Server at `localhost:8888` and follow the example Jupyter notebook.

Loading

0 comments on commit c3d0d43

Please sign in to comment.