Criar uma tabela com uma opção para habilitá-la para o perfil
Use uma consulta Criar tabela como seleção (CTAS) para criar um conjunto de dados, atribuir tipos de dados, definir uma identidade principal, criar um esquema e marcá-lo como habilitado para perfil. A instrução SQL de exemplo abaixo cria um conjunto de dados e o disponibiliza para o Real-Time Customer Data Platform (Real-Time CDP). Sua consulta SQL seguirá o formato mostrado no exemplo abaixo:
CREATE TABLE <your_table_name> [IF NOT EXISTS] (fieldname <your_data_type> primary identity namespace <your_namespace>, [field_name2 <your_data_type>]) [WITH(LABEL='PROFILE')];
Os tipos de dados compatíveis são: boolean, date, datetime, text, float, bigint, integer, map, array e struct/row.
O bloco de código SQL abaixo fornece exemplos para definir tipos de dados de estrutura/linha, mapa e matriz. A linha um demonstra a sintaxe da linha. A linha dois demonstra a sintaxe do mapa, e a linha três, a sintaxe da matriz.
ROW (Column_name <data_type> [, column name <data_type> ]*)
MAP <data_type, data_type>
ARRAY <data_type>
Como alternativa, os conjuntos de dados também podem ser habilitados para o perfil por meio da interface do usuário do Experience Platform. Para obter mais informações sobre como marcar um conjunto de dados como habilitado para o perfil, consulte a documentação Habilitar um conjunto de dados para o Perfil do Cliente em Tempo Real.
Na consulta de exemplo abaixo, o conjunto de dados decile_table
é criado com id
como a coluna de identidade primária e tem o namespace IDFA
. Ele também tem um campo chamado decile1Month
do tipo de dados do mapa. A tabela criada (decile_table
) está habilitada para o perfil.
CREATE TABLE decile_table (id text PRIMARY KEY NAMESPACE 'IDFA',
decile1Month map<text, integer>) WITH (label='PROFILE');
Após a execução bem-sucedida do query, a ID do conjunto de dados é retornada ao console, como pode ser visto no exemplo abaixo.
Created Table DataSet Id
>
637fd84969ba291e62dba79f
(1 row)
Use label='PROFILE'
em um comando CREATE TABLE
para criar um conjunto de dados habilitado para perfil. O recurso upsert
está ativado por padrão. A capacidade upsert
pode ser substituída usando o comando ALTER
, conforme demonstrado no exemplo abaixo.
ALTER TABLE <your_table_name> DROP label upsert;
Consulte a documentação da sintaxe SQL para obter mais informações sobre o uso do comando ALTER TABLE e do rótulo como parte de uma consulta CTAS.
Construções para ajudar no gerenciamento de conjuntos de dados derivados por meio do SQL
Os recursos descritos abaixo são de grande benefício ao gerenciar conjuntos de dados derivados por meio do SQL.
Alterar conjuntos de dados existentes para que sejam ativados para o perfil
A construção ALTER TABLE SQL pode ser usada para tornar os conjuntos de dados existentes habilitados para o perfil. Isso requer que uma tag ativada por perfil seja adicionada ao esquema e ao conjunto de dados correspondente.
ALTER TABLE your_decile_table ADD label 'PROFILE';
ALTER TABLE
, o console retorna ALTER SUCCESS
.Adicionar uma identidade principal a um conjunto de dados existente
Marcar uma coluna existente em um conjunto de dados como um conjunto de identidades principal; caso contrário, ela resultará em um erro. Para definir uma identidade primária usando SQL, use o formato de consulta exibido abaixo.
ALTER TABLE <your_table_name> ADD CONSTRAINT primary identity NAMESPACE
Por exemplo:
ALTER TABLE test1_dataset ADD CONSTRAINT PRIMARY KEY(id2) NAMESPACE 'IDFA';
No exemplo fornecido, id2
é uma coluna existente em test1_dataset
.
Desativar um conjunto de dados para o perfil
Se quiser desativar a tabela para uso de perfil, use o comando DROP. Um exemplo de instrução SQL que USA DROP
é visto abaixo.
ALTER TABLE table_name DROP LABEL 'PROFILE';
Por exemplo:
ALTER TABLE decile_table DROP label 'PROFILE';
Esta instrução SQL fornece um método alternativo eficiente para usar uma chamada de API. Para obter mais informações, consulte a documentação sobre como desabilitar um conjunto de dados para uso com o Real-Time CDP usando a API de conjuntos de dados.
Permitir a funcionalidade de atualização e inserção para o conjunto de dados
O comando UPSERT permite inserir um novo registro ou atualizar dados existentes em uma tabela. Especificamente, permite atualizar uma linha existente se um valor especificado já existir em uma tabela, ou inserir uma nova linha se o valor especificado ainda não existir.
Um exemplo de instrução que usa o formato correto é visto abaixo.
ALTER TABLE table_name ADD LABEL 'UPSERT';
Por exemplo:
ALTER TABLE table_with_a_decile ADD label 'UPSERT';
Esta instrução SQL fornece um método alternativo eficiente para usar uma chamada de API. Para obter mais informações, consulte a documentação sobre como habilitar um conjunto de dados para uso com o Real-Time CDP e UPSERT usando a API de conjuntos de dados.
Desative a funcionalidade de atualização e inserção para o conjunto de dados
Esse comando desativa a capacidade de atualizar e inserir linhas no conjunto de dados.
Um exemplo de instrução que usa o formato correto é visto abaixo.
ALTER TABLE table_name DROP LABEL 'UPSERT';
Por exemplo:
ALTER TABLE table_with_a_decile DROP label 'UPSERT';
Mostrar informações adicionais da tabela associadas a cada tabela
Os metadados adicionais são mantidos para conjuntos de dados habilitados para perfis. Use o comando SHOW TABLES
para exibir uma coluna labels
extra que forneça informações sobre rótulos associados a tabelas.
Um exemplo da saída desse comando pode ser visto abaixo:
name | dataSetId | dataSet | description | labels
---------------------+--------------------------+----------------+-------------+----------
luma_midvalues | 5bac030c29bb8d12fa992e58 | Luma midValues | | false
luma_postvalues | 5c86b896b3c162151785b43c | Luma midValues | | false
table_with_a_decile | 5c86b896b3c162151785b43c | Luma midValues | | 'UPSERT', 'PROFILE'
(3 rows)
Você pode ver no exemplo que table_with_a_decile
foi habilitado para perfil e aplicado com rótulos como 'SUBSTITUIR', 'PERFIL' conforme descrito anteriormente.
Criar um grupo de campos com SQL
Os grupos de campos agora podem ser criados por meio do SQL. Isso fornece uma alternativa ao uso do Editor de esquemas na interface do Experience Platform ou à realização de uma chamada de API para o registro do esquema.
Um exemplo de instrução para criar um grupo de campos pode ser visto abaixo.
CREATE FIELDGROUP <field_group_name> [IF NOT EXISTS] (field_name <data_type> primary identity namespace <namespace>, [field_name_2 >data_type>]) [ WITH(LABEL='PROFILE') ];
label
não for fornecido na instrução ou se o grupo de campos já existir.Certifique-se de que a consulta inclua uma cláusula
IF NOT EXISTS
para evitar a falha da consulta porque o grupo de campos já existe.Um exemplo real pode parecer semelhante ao mostrado abaixo.
CREATE FIELDGROUP field_group_for_test123 (decile1Month map<text, integer>, decile3Month map<text, integer>, decile6Month map<text, integer>, decile9Month map<text, integer>, decile12Month map<text, integer>, decilelietime map<text, integer>) WITH (LABEL-'PROFILE');
A execução bem-sucedida dessa instrução retorna a ID do grupo de campos criada. Por exemplo c731a1eafdfdecae1683c6dca197c66ed2c2b49ecd3a9525
.
Consulte a documentação sobre como criar um novo grupo de campos no Editor de Esquemas ou usar a API do Registro de esquemas para obter mais informações sobre métodos alternativos.