Databricks Lojas de recursos on-line
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:
- Servir recurso para aplicativos reais de tempo, como sistemas de recomendação, detecção de fraude e mecanismos de personalização usando o endpoint Feature Serving.
- Pesquisa automática de recurso para inferência de tempo real no endpoint do modelo servindo.
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:
%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:
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:
# 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.
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:
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:
- Criar uma tabela no armazenamento on-line, caso ela não exista.
- Sincronizar os dados do recurso da tabela de recurso off-line com o armazenamento on-line.
- 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:
fe.delete_online_store(name="my-online-store")
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
, efeatures
. - Somente tabelas de recurso em Unity Catalog são compatíveis.
- O único modo de publicação compatível é "merge".
Recurso adicional
- Saiba mais sobre o recurso engenharia em Databricks.
- Explore a governança de dados e a linhagem em Unity Catalog.
- Entenda a arquitetura e os recursos do Lakebase.