Pular para o conteúdo principal

Databricks Lojas de recursos on-line

info

Beta

Esse recurso está na versão Beta e está disponível nas seguintes regiões:

us-east-1, us-west-2, eu-west-1, ap-southeast-1, ap-southeast-2, eu-central-1, us-east-2, ap-south-1

Databricks Os recurso Stores on-line são soluções escalonáveis e de alto desempenho para fornecer dados de recurso a aplicativos on-line e tempo real modelo do aprendizado de máquina. Com a tecnologia Databricks Lakebase, ele fornece acesso de baixa latência a dados de recurso em alta escala, mantendo a consistência com suas tabelas de recurso off-line.

Os principais casos de uso da Online Recurso Store incluem:

Requisitos

Databricks O recurso on-line Stores requer Databricks Runtime 16.4 LTS ML ou acima. O senhor também pode usar serverless compute.

Para usar o Databricks Online recurso Stores, o senhor deve primeiro instalar o pacote. As seguintes linhas de código devem ser executadas sempre que um Notebook for executado:

Python
%pip install databricks-feature-engineering==0.13.0a1
dbutils.library.restartPython()

Criar um armazenamento on-line

Para criar uma nova loja on-line de recursos:

Python
from databricks.feature_engineering import FeatureEngineeringClient

# Initialize the client
fe = FeatureEngineeringClient()

# Create an online store with specified capacity
fe.create_online_store(
name="my-online-store",
capacity="CU_2" # Valid options: "CU_1", "CU_2", "CU_4", "CU_8"
)

As opções de capacidade correspondem a diferentes níveis de desempenho "CU_1", "CU_2", "CU_4", e "CU_8". Cada unidade de capacidade aloca cerca de 16 GB de RAM para a instância do banco de dados, juntamente com toda a CPU associada e o recurso local SSD. O aumento de escala aumenta esses recursos linearmente. Para obter mais detalhes, consulte gerenciar a capacidade da instância.

gerenciar lojas on-line

O código a seguir mostra como recuperar e atualizar lojas on-line:

Python
# Get information about an existing online store
store = fe.get_online_store(name="my-online-store")
if store:
print(f"Store: {store.name}, State: {store.state}, Capacity: {store.capacity}")

# Update the capacity of an online store
updated_store = fe.update_online_store(
name="my-online-store",
capacity="CU_4" # Upgrade to higher capacity
)

Publicar uma tabela de recursos em um armazenamento on-line

Depois que seu armazenamento on-line estiver no estado AVAILABLE (Disponível ), o senhor poderá publicar tabelas de recursos para torná-las disponíveis para acesso de baixa latência.

nota

O feed de dados de alteração deve ser ativado na tabela antes que ela possa ser publicada em um armazenamento on-line.

Para publicar uma tabela de recursos em um armazenamento on-line:

Python
from databricks.ml_features.entities.online_store import DatabricksOnlineStore

# Get the online store instance
online_store = fe.get_online_store(name="my-online-store")

# Publish the feature table to the online store
fe.publish_table(
online_store=online_store,
source_table_name="catalog_name.schema_name.feature_table_name",
online_table_name="catalog_name.schema_name.online_feature_table_name"
)

O site publish_table operações faz o seguinte:

  1. Criar uma tabela no armazenamento on-line, caso ela não exista.
  2. Sincronizar os dados do recurso da tabela de recurso off-line com o armazenamento on-line.
  3. Configurar a infraestrutura necessária para manter o armazenamento on-line em sincronia com a tabela off-line.

Atualizar continuamente o recurso on-line

Se publish_table for chamado com streaming=True, a tabela on-line será configurada com uma transmissão pipeline para atualizar continuamente o armazenamento on-line à medida que novos dados chegarem à tabela de recursos off-line.

programar atualizações para o recurso on-line

Para atualizar periodicamente o recurso em uma tabela on-line, crie um agendamento LakeFlow Job que execute publish_table. O Job atualiza automaticamente a tabela e atualiza de forma incremental o recurso on-line. Veja LakeFlow Jobs.

Explorar e consultar recursos on-line

Depois que o status da tabela publicada for exibido como "AVAILABLE", o senhor poderá explorar e consultar os dados do recurso de várias maneiras:

Unity Catalog IU : Navegue até a tabela on-line em Unity Catalog para view dados de amostra e explore o esquema diretamente na UI. Isso proporciona uma maneira conveniente de inspecionar os dados do recurso e verificar se o processo de publicação foi concluído com êxito.

SQL Editor : Para consultas e exploração de dados mais avançadas, o senhor pode usar o editor SQL para executar consultas PostgreSQL em suas tabelas de recursos on-line. Isso permite que o senhor realize consultas complexas, junções e análises nos dados do seu recurso. Para obter instruções detalhadas sobre como usar o editor SQL com lojas on-line, consulte Acessar uma instância de banco de dados a partir do editor SQL.

Usar o recurso online em aplicativos reais de tempo

Para servir recurso a aplicativos e serviços reais de tempo, crie um Feature Serving endpoint. Consulte Feature Serving endpoint.

Os modelos que são treinados usando o recurso de Databricks rastreiam automaticamente a linhagem do recurso em que foram treinados. Quando implantados como endpoint, esses modelos usam o site Unity Catalog para encontrar o recurso apropriado em lojas on-line. Para obter detalhes, consulte Usar recurso no fluxo de trabalho on-line.

Excluir um armazenamento on-line

Para excluir um armazenamento on-line:

Python
fe.delete_online_store(name="my-online-store")
nota

A exclusão de uma tabela publicada on-line pode levar a falhas inesperadas nas dependências posteriores. Antes de excluir uma tabela, o senhor deve garantir que seus recursos on-line não sejam mais usados pelo modelo de serviço ou pelo endpoint Feature Serving.

Limitações

  • Os parâmetros a seguir não são compatíveis com a publicação em uma loja de recursos on-line Databricks: filter_condition, checkpoint_location, mode, trigger, e features.
  • Somente tabelas de recurso em Unity Catalog são compatíveis.
  • O único modo de publicação compatível é "merge".

Recurso adicional