CREATE ONLINE FEATURE TABLE¶
Cria uma nova tabela de recursos on-line no esquema atual/especificado ou substitui uma tabela existente.
- Consulte também:
ALTER ONLINE FEATURE TABLE, DESCRIBE ONLINE FEATURE TABLE, DROP ONLINE FEATURE TABLE, SHOW ONLINE FEATURE TABLES
Sintaxe¶
CREATE [ OR REPLACE ] ONLINE FEATURE TABLE <name>
PRIMARY KEY ( <col_name> [ , <col_name> , ... ] )
TARGET_LAG = '<num> { seconds | minutes | hours | days }'
WAREHOUSE = <warehouse_name>
[ REFRESH_MODE = { AUTO | FULL | INCREMENTAL } ]
[ TIMESTAMP_COLUMN = <col_name> ]
[ [ WITH ] COMMENT = '<string_literal>' ]
[ [ WITH ] TAG ( <tag_name> = '<tag_value>' [ , <tag_name> = '<tag_value>' , ... ] ) ]
FROM <source>
Parâmetros obrigatórios¶
nameCadeia de caracteres que especifica o identificador (ou seja, o nome) da tabela de recursos on-line; deve ser exclusivo para o esquema no qual a tabela é criada.
PRIMARY KEY ( col_name [ , col_name , ... ] )Especifica a restrição de chave primária obrigatória da tabela. A chave primária serve como um identificador exclusivo de cada linha na tabela e serve como chave de pesquisa nas consultas SELECT rápidas.
TARGET_LAG = 'num { seconds | minutes | hours | days }'Especifica o tempo máximo que o conteúdo da tabela de recursos on-line deve ficar defasado em relação às atualizações da fonte.
Deve estar entre 10 segundos e 8 dias, inclusive.
WAREHOUSE = warehouse_nameEspecifica o nome do warehouse que fornece os recursos de computação para atualizar a tabela de recursos on-line.
Você deve usar uma função que tenha o privilégio USAGE neste warehouse para criar a tabela de recursos on-line.
FROM sourceEspecifica a fonte de dados da tabela de recursos on-line. Deve ser uma exibição ou uma tabela dinâmica.
Parâmetros opcionais¶
REFRESH_MODE = { AUTO | FULL | INCREMENTAL }Especifica o modo de atualização para a tabela de recursos on-line.
Nota
Essa propriedade não pode ser alterada após a criação da tabela de recursos on-line. Para modificar a propriedade, recrie a tabela de recursos on-line.
AUTOQuando o modo de atualização está definido como AUTO, o sistema tenta aplicar uma atualização incremental por padrão. No entanto, quando a atualização incremental não é compatível ou não se espera que tenha um bom desempenho, a tabela de recursos on-line seleciona automaticamente a atualização completa.
Para determinar o melhor modo para seu caso de uso, experimente modos de atualização e recomendações automáticas. Para um comportamento consistente em todas as versões do Snowflake, defina explicitamente o modo de atualização em todas as tabelas de recursos on-line.
Para verificar o modo de atualização das suas tabelas de recursos on-line, visualize esse modo usando o comando SHOW ONLINE FEATURE TABLES.
FULLForça uma atualização completa da tabela de recursos on-line, mesmo que ela possa ser atualizada incrementalmente.
INCREMENTALForça uma atualização incremental da tabela de recursos on-line. Se a consulta subjacente à tabela de recursos on-line não puder executar uma atualização incremental, a criação da tabela de recursos on-line falhará e exibirá uma mensagem de erro.
Padrão: AUTO
TIMESTAMP_COLUMN = col_nameEspecifica a coluna na origem tratada como a coluna de carimbo de data/hora.
Padrão: sem valor
COMMENT = 'string_literal'Especifica um comentário para a tabela de recursos on-line.
Padrão: sem valor
TAG ( tag_name = 'tag_value' [ , tag_name = 'tag_value' , ... ] )Especifica o nome da tag e o valor da cadeia de caracteres dela. O número máximo de caracteres para o valor da tag é 256.
Padrão: sem valor
Requisitos de controle de acesso¶
Privilégio |
Objeto |
Notas |
|---|---|---|
CREATE ONLINE FEATURE TABLE |
Esquema |
Função que tem o privilégio CREATE ONLINE FEATURE TABLE no esquema. |
USAGE |
Warehouse |
Obrigatório no warehouse especificado no parâmetro WAREHOUSE |
O privilégio USAGE no banco de dados e no esquema pai é necessário para executar operações em qualquer objeto de um esquema. Observe que uma função com privilégio concedido em um esquema permite que essa função resolva o esquema. Por exemplo, uma função com privilégio CREATE concedido em um esquema pode criar objetos nesse esquema sem também ter USAGE concedido nesse esquema.
Para instruções sobre como criar uma função personalizada com um conjunto específico de privilégios, consulte Criação de funções personalizadas.
Para informações gerais sobre concessões de funções e privilégios para executar ações de SQL em objetos protegíveis, consulte Visão geral do controle de acesso.
Notas de uso¶
As cláusulas OR REPLACE e IF NOT EXISTS são mutuamente exclusivas. Os dois não podem ser usados na mesma instrução.
Instruções CREATE OR REPLACE <object> são atômicas. Ou seja, quando um objeto é substituído, o objeto antigo é excluído e o novo objeto é criado em uma única transação.
Atenção
Os clientes devem garantir que nenhum dado pessoal (exceto para um objeto do usuário), dados sensíveis, dados controlados por exportação ou outros dados regulamentados sejam inseridos como metadados ao usar o serviço Snowflake. Para obter mais informações, consulte Campos de metadados no Snowflake.
Exemplos¶
O exemplo a seguir cria uma tabela de recursos on-line chamada my_online_feature_table com uma chave primária na coluna ID:
CREATE ONLINE FEATURE TABLE my_online_feature_table
PRIMARY KEY (ID)
TIMESTAMP_COLUMN = 'TS'
TARGET_LAG = '30 seconds'
WAREHOUSE = MY_WAREHOUSE
FROM MY_SOURCE_DYNAMIC_TABLE;
Neste exemplo, ID e TS referem-se às respectivas colunas na tabela dinâmica MY_SOURCE_DYNAMIC_TABLE existente.