Erstellen einer Tabelle mit einer Option, um sie für ein Profil zu aktivieren
Verwenden Sie eine Abfrage vom Typ Tabelle als Auswahl erstellen (CTAS), um einen Datensatz zu erstellen, Datentypen zuzuweisen, eine primäre Identität festzulegen, ein Schema zu erstellen und ihn als profilaktiviert zu markieren. Die folgende SQL-Beispielanweisung erstellt einen Datensatz und stellt ihn für Real-Time Customer Data Platform (Real-Time CDP) zur Verfügung. Ihre SQL-Abfrage folgt dem Format, das im folgenden Beispiel gezeigt wird:
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')];
Die unterstützten Datentypen sind: Boolesch, Datum, Datum/Uhrzeit, Text, Gleitkommazahl, bigint, Ganzzahl, Zuordnung, Array und Struct/Row.
Der folgende SQL-Codeblock enthält Beispiele zum Definieren von Struktur-/Zeilen-, Zuordnungs- und Array-Datentypen. Zeile 1 zeigt die Zeilensyntax. Zeile zwei zeigt die Zuordnungssyntax und Zeile drei die Array-Syntax.
ROW (Column_name <data_type> [, column name <data_type> ]*)
MAP <data_type, data_type>
ARRAY <data_type>
Alternativ können Datensätze auch über die Experience Platform-Benutzeroberfläche für Profile aktiviert werden. Weitere Informationen zum Markieren eines Datensatzes als für Profil aktiviert finden Sie in der Aktivieren eines Datensatzes für das Echtzeit-Kundenprofil.
In der folgenden Beispielabfrage wird der decile_table
Datensatz mit id
als primäre Identitätsspalte erstellt und weist den Namespace IDFA
auf. Es gibt auch ein Feld namens decile1Month
vom Datentyp Zuordnung . Die erstellte Tabelle (decile_table
) ist für Profil aktiviert.
CREATE TABLE decile_table (id text PRIMARY KEY NAMESPACE 'IDFA',
decile1Month map<text, integer>) WITH (label='PROFILE');
Bei erfolgreicher Ausführung der Abfrage wird die Datensatz-ID an die Konsole zurückgegeben, wie im Beispiel unten dargestellt.
Created Table DataSet Id
>
637fd84969ba291e62dba79f
(1 row)
Verwenden Sie label='PROFILE'
auf einem CREATE TABLE
, um einen profilaktivierten Datensatz zu erstellen. Die upsert
ist standardmäßig aktiviert. Die upsert
kann mithilfe des Befehls ALTER
überschrieben werden, wie im folgenden Beispiel gezeigt.
ALTER TABLE <your_table_name> DROP label upsert;
Weitere Informationen zur Verwendung des Befehls ALTER TABLE und „label“ als Teil einer CTASAbfrage finden Sie in der SQLSyntaxdokumentation .
Konstrukte zur Unterstützung der Verwaltung abgeleiteter Datensätze mithilfe von SQL
Die unten beschriebenen Funktionen sind bei der Verwaltung abgeleiteter Datensätze über SQL von großem Nutzen.
Vorhandene Datensätze ändern, damit sie für das Profil aktiviert werden
Das SQL-Konstrukt ALTER TABLE kann verwendet werden, um vorhandene Datensätze für das Profil zu aktivieren. Dies erfordert, dass sowohl dem Schema als auch dem entsprechenden Datensatz ein profilaktiviertes Tag hinzugefügt wird.
ALTER TABLE your_decile_table ADD label 'PROFILE';
ALTER TABLE
-Befehls gibt die Konsole ALTER SUCCESS
zurück.Hinzufügen einer primären Identität zu einem vorhandenen Datensatz
Markieren Sie eine vorhandene Spalte in einem Datensatz als primären Identitätssatz. Andernfalls führt dies zu einem Fehler. Um eine primäre Identität mithilfe von SQL festzulegen, verwenden Sie das unten angezeigte Abfrageformat.
ALTER TABLE <your_table_name> ADD CONSTRAINT primary identity NAMESPACE
z. B.:
ALTER TABLE test1_dataset ADD CONSTRAINT PRIMARY KEY(id2) NAMESPACE 'IDFA';
Im angegebenen Beispiel ist id2
eine vorhandene Spalte in test1_dataset
.
Datensatz für Profil deaktivieren
Wenn Sie Ihre Tabelle für die Verwendung durch Profile deaktivieren möchten, müssen Sie den DROP-Befehl verwenden. Nachfolgend finden Sie eine Beispiel-SQL-Anweisung mit dem DROP
USES .
ALTER TABLE table_name DROP LABEL 'PROFILE';
z. B.:
ALTER TABLE decile_table DROP label 'PROFILE';
Diese SQL-Anweisung bietet eine effiziente Alternative zur Verwendung eines API-Aufrufs. Weitere Informationen finden Sie in der Dokumentation zum Deaktivieren eines Datensatzes für die Verwendung mit Real-Time CDP mithilfe der Datasets-API.
Zulassen, dass Funktionen für den Datensatz aktualisiert und eingefügt werden
Mit dem Befehl UPSERT können Sie einen neuen Datensatz einfügen oder vorhandene Daten in einer Tabelle aktualisieren. Insbesondere können Sie eine vorhandene Zeile aktualisieren, wenn ein angegebener Wert bereits in einer Tabelle vorhanden ist, oder eine neue Zeile einfügen, wenn der angegebene Wert noch nicht vorhanden ist.
Nachfolgend finden Sie eine Beispielanweisung mit dem richtigen Format.
ALTER TABLE table_name ADD LABEL 'UPSERT';
z. B.:
ALTER TABLE table_with_a_decile ADD label 'UPSERT';
Diese SQL-Anweisung bietet eine effiziente Alternative zur Verwendung eines API-Aufrufs. Weitere Informationen finden Sie in der Dokumentation zum Aktivieren eines Datensatzes für die Verwendung mit Real-Time CDP und UPSERT mithilfe der Datasets-API.
Funktion zum Aktualisieren und Einfügen für Ihren Datensatz deaktivieren
Dieser Befehl deaktiviert die Möglichkeit, Zeilen zu aktualisieren und in Ihren Datensatz einzufügen.
Nachfolgend finden Sie eine Beispielanweisung mit dem richtigen Format.
ALTER TABLE table_name DROP LABEL 'UPSERT';
z. B.:
ALTER TABLE table_with_a_decile DROP label 'UPSERT';
Zusätzliche Tabelleninformationen für jede Tabelle anzeigen
Zusätzliche Metadaten werden für profilaktivierte Datensätze beibehalten. Verwenden Sie den Befehl SHOW TABLES
, um eine zusätzliche labels
anzuzeigen, die Informationen zu Beschriftungen bereitstellt, die mit Tabellen verknüpft sind.
Nachfolgend finden Sie ein Beispiel für die Ausgabe dieses Befehls:
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)
Erstellen einer Feldergruppe mit SQL
Feldergruppen können jetzt mithilfe von SQL erstellt werden. Dies bietet eine Alternative zur Verwendung des Schema-Editors in der Experience Platform-Benutzeroberfläche oder einem API-Aufruf an die Schemaregistrierung.
Nachfolgend finden Sie eine Beispielanweisung zum Erstellen einer Feldergruppe.
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
-Flag nicht in der Anweisung angegeben wird oder wenn die Feldergruppe bereits vorhanden ist.Stellen Sie sicher, dass die Abfrage eine
IF NOT EXISTS
-Klausel enthält, um zu vermeiden, dass die Abfrage fehlschlägt, da die Feldergruppe bereits vorhanden ist.Ein reales Beispiel könnte in etwa wie unten dargestellt aussehen.
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');
Bei erfolgreicher Ausführung dieser Anweisung wird die erstellte Feldergruppen-ID zurückgegeben. Beispiel c731a1eafdfdecae1683c6dca197c66ed2c2b49ecd3a9525
.
Weitere Informationen zu alternativen Methoden finden Sie in Dokumentation zum Erstellen einer neuen FeldergruppeSchema-Editor oder VerwendungSchema-Registrierungs-API .