Afgeleide datasets maken met SQL

Leer hoe te om SQL vragen te gebruiken om gegevens van bestaande datasets te manipuleren en om te zetten om een afgeleide dataset tot stand te brengen die voor Profiel wordt toegelaten. Dit werkschema verstrekt een efficiënte, alternatieve methode om afgeleide datasets voor uw zaken van het bedrijfsgebruik van het Profiel van de Klant in real time te creëren.

Dit document schetst diverse geschikte SQL uitbreidingen die een afgeleide dataset voor gebruik met het Profiel van de Klant in real time produceren. Het werkschema vereenvoudigt het proces dat u anders door diverse API vraag of de interactie van het Platform UI zou moeten voltooien.

Typisch, zou het produceren van en het publiceren van een afgeleide dataset voor het Profiel van de Klant in real time de volgende stappen impliceren:

  • Maak een naamruimte voor identiteiten als deze nog niet bestaat.
  • Creeer het datatype om de afgeleide dataset op te slaan, indien nodig.
  • Creeer een gebiedsgroep met dat datatype om de afgeleide datasetinformatie op te slaan.
  • Maak of wijs een primaire identiteitskolom toe met de naamruimte die u eerder hebt gemaakt.
  • Maak een schema met de veldgroep en het datatype dat u eerder hebt gemaakt.
  • Creeer een nieuwe dataset gebruikend uw schema en laat het voor profiel toe, indien nodig.
  • Markeer optioneel een dataset als profiel-toegelaten.

Nadat u de hierboven vermelde stappen hebt uitgevoerd, kunt u de gegevensset vullen. Als u de dataset voor profiel toeliet, kunt u segmenten tot stand brengen die naar de nieuwe dataset verwijzen en beginnen inzichten te produceren.

De Dienst van de vraag staat u toe om alle hierboven vermelde acties uit te voeren gebruikend SQL vragen. Dit omvat het aanbrengen van veranderingen in uw datasets en gebiedsgroepen indien nodig.

Een tabel maken met een optie om deze in te schakelen voor profiel enable-dataset-for-profile

NOTE
De hieronder opgegeven SQL-query gaat uit van het gebruik van een bestaande naamruimte.

Gebruik een Create Lijst als Uitgezochte vraag (CTAS) om een dataset tot stand te brengen, datatypes toe te wijzen, een primaire identiteit te plaatsen, een schema tot stand te brengen, en het te merken als profiel-toegelaten. De voorbeeld-SQL-instructie hieronder maakt een gegevensset en stelt deze beschikbaar voor Real-time Customer Data Platform (Real-Time CDP). Uw SQL-query heeft de indeling die in het onderstaande voorbeeld wordt getoond:

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')];

De volgende gegevenstypen worden ondersteund: boolean, date, datetime, text, float, bigint, integer, map, array en struct/row.

Het SQl-codeblok hieronder biedt voorbeelden om struct/row-, map- en arraydatatypen te definiëren. Regel één toont rijsyntaxis. Regel twee toont kaartsyntaxis, en lijn drie, seriesyntaxis.

ROW (Column_name <data_type> [, column name <data_type> ]*)
MAP <data_type, data_type>
ARRAY <data_type>

Alternatief, kunnen de datasets ook voor profiel door Platform UI worden toegelaten. Voor meer informatie over het merken van een dataset zoals toegelaten voor profiel, zie laat een dataset voor de documentatie van het Profiel van de Klant in real time toe.

In de onderstaande voorbeeldquery worden de decile_table dataset wordt gecreeerd met id als primaire identiteitskolom en heeft de naamruimte IDFA. Het heeft ook een veld met de naam decile1Month van het gegevenstype Map. De gemaakte tabel (decile_table) is ingeschakeld voor profiel.

CREATE TABLE decile_table (id text PRIMARY KEY NAMESPACE 'IDFA',
            decile1Month map<text, integer>) WITH (label='PROFILE');

Bij succesvolle uitvoering van de vraag, wordt dataset identiteitskaart teruggekeerd aan de console, zoals die in het hieronder voorbeeld wordt gezien.

Created Table DataSet Id
>
637fd84969ba291e62dba79f
(1 row)

Gebruiken label='PROFILE' op CREATE TABLE bevel om een profiel-toegelaten dataset tot stand te brengen. De upsert mogelijkheid is standaard ingeschakeld. De upsert kan worden overschreven met behulp van de ALTER gebruiken, zoals in het onderstaande voorbeeld wordt getoond.

ALTER TABLE <your_table_name> DROP label upsert;

Zie de syntaxisdocumentatie van SQl voor meer informatie over het gebruik van ALTER TABLE en label als onderdeel van een CTAS-query.

Construeert om met het beheren van afgeleide datasets door SQL te helpen

De hieronder beschreven eigenschappen zijn van groot nut wanneer het beheren van afgeleide datasets door SQL.

Bestaande gegevenssets wijzigen die moeten worden ingeschakeld voor profiel enable-existing-dataset-for-profile

De SQL-constructie ALTER TABLE kan worden gebruikt om bestaande gegevenssets geschikt te maken voor profiel. Dit vereist dat een profiel-toegelaten markering aan zowel het schema als de overeenkomstige dataset wordt toegevoegd.

ALTER TABLE your_decile_table ADD label 'PROFILE';
NOTE
Bij een geslaagde uitvoering van de ALTER TABLE bevel, keert de console terug ALTER SUCCESS.

Een primaire identiteit toevoegen aan een bestaande gegevensset add-primary-identity

Markeer een bestaande kolom in een dataset als primaire identiteitsreeks, anders, resulteert het in een fout. Als u een primaire identiteit wilt instellen met SQL, gebruikt u de hieronder weergegeven query-indeling.

ALTER TABLE <your_table_name> ADD CONSTRAINT primary identity NAMESPACE

Bijvoorbeeld:

ALTER TABLE test1_dataset ADD CONSTRAINT PRIMARY KEY(id2) NAMESPACE 'IDFA';

In het gegeven voorbeeld: id2 is een bestaande kolom in test1_dataset.

Een gegevensset voor profiel uitschakelen disable-dataset-for-profile

Als u uw lijst voor profielgebruik wilt onbruikbaar maken, moet u het bevel DROP gebruiken. Een voorbeeld-SQL-instructie die GEBRUIKT DROP is hieronder weergegeven.

ALTER TABLE table_name DROP LABEL 'PROFILE';

Bijvoorbeeld:

ALTER TABLE decile_table DROP label 'PROFILE';

Deze SQL-instructie biedt een efficiënte alternatieve methode voor het gebruik van een API-aanroep. Zie de documentatie over het een dataset voor gebruik met Real-Time CDP onbruikbaar maken gebruikend datasets API.

De functionaliteit voor bijwerken en invoegen van uw gegevensset toestaan enable-upsert-functionality-for-dataset

Met de opdracht UPSERT kunt u een nieuwe record invoegen of bestaande gegevens in een tabel bijwerken. Met name kunt u een bestaande rij bijwerken als een opgegeven waarde al in een tabel bestaat, of een nieuwe rij invoegen als de opgegeven waarde nog niet bestaat.

Een voorbeeldinstructie die de juiste indeling gebruikt, wordt hieronder weergegeven.

ALTER TABLE table_name ADD LABEL 'UPSERT';

Bijvoorbeeld:

ALTER TABLE table_with_a_decile ADD label 'UPSERT';

Deze SQL-instructie biedt een efficiënte alternatieve methode voor het gebruik van een API-aanroep. Zie de documentatie over het een gegevensset inschakelen voor gebruik met Real-Time CDP en UPSERT met behulp van de API voor gegevenssets.

De update- en invoegfunctionaliteit voor uw gegevensset uitschakelen disable-upsert-functionality-for-dataset

Dit bevel maakt de capaciteit onbruikbaar om rijen in uw dataset bij te werken en op te nemen.

Een voorbeeldinstructie die de juiste indeling gebruikt, wordt hieronder weergegeven.

ALTER TABLE table_name DROP LABEL 'UPSERT';

Bijvoorbeeld:

ALTER TABLE table_with_a_decile DROP label 'UPSERT';

Aanvullende tabelinformatie voor elke tabel tonen show-labels-for-tables

Aanvullende metagegevens worden bewaard voor gegevenssets waarvoor profielen zijn ingeschakeld. Gebruik de SHOW TABLES opdracht om een extra labels kolom die informatie over om het even welke etiketten verstrekt verbonden aan lijsten.

Een voorbeeld van de output van dit bevel kan hieronder worden gezien:

       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)

Uit het voorbeeld blijkt dat table_with_a_decile is ingeschakeld voor profiel en toegepast met labels zoals 'UPSERT', "PROFIEL" zoals eerder beschreven.

Een veldgroep met SQL maken

Veldgroepen kunnen nu worden gemaakt met SQL. Dit verstrekt een alternatief aan het gebruiken van de Redacteur van het Schema binnen het Platform UI of het maken van een API vraag aan de schemaregistratie.

Een voorbeeldinstructie voor het maken van een veldgroep vindt u hieronder.

CREATE FIELDGROUP <field_group_name> [IF NOT EXISTS]  (field_name <data_type> primary identity namespace <namespace>, [field_name_2 >data_type>]) [ WITH(LABEL='PROFILE') ];
IMPORTANT
Het maken van veldgroepen via SQL mislukt als de label markering wordt niet opgegeven in de instructie of als de veldgroep al bestaat.
Zorg ervoor dat de query een IF NOT EXISTS component om te voorkomen dat de query mislukt omdat de veldgroep al bestaat.

Een echt voorbeeld lijkt misschien op het onderstaande voorbeeld.

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');

Als deze instructie met succes wordt uitgevoerd, wordt de gemaakte veldgroep-id geretourneerd. Bijvoorbeeld c731a1eafdfdecae1683c6dca197c66ed2c2b49ecd3a9525.

Zie de documentatie over hoe u een nieuwe veldgroep maken in de Schema-editor of door schema-register-API voor meer informatie over alternatieve methoden.

Een veldgroep neerzetten

Soms is het nodig een veldgroep uit het schemaregister te verwijderen. Dit wordt gedaan door uit te voeren DROP FIELDGROUP gebruiken met de veldgroep-id.

DROP FIELDGROUP [IF EXISTS] <your_field_group_id>;

Bijvoorbeeld:

DROP FIELDGROUP field_group_for_test123;
IMPORTANT
Het verwijderen van een veldgroep via SQL mislukt als de veldgroep niet bestaat. Zorg ervoor dat de instructie een IF EXISTS clausule om de vraag te vermijden ontbreekt.

Alle veldgroepnamen en id's voor uw tabellen weergeven

De SHOW FIELDGROUPS het bevel keert een lijst terug die de naam, fieldGroupId, en eigenaar van de lijsten bevat.

Een voorbeeld van de output van dit bevel kan hieronder worden gezien:

       name                      |        fieldgroupId                             |     owner      |
---------------------------------+-------------------------------------------------+-----------------
 AEP Mobile Lifecycle Details    | _experience.aep-mobile-lifecycle-details        | Luma midValues |
 AEP Web SDK ExperienceEvent     | _experience.aep-web-sdk-experienceevent         | Luma midValues |
 AJO Classification Fields       | _experience.journeyOrchestration.classification | Luma midValues |
 AJO Entity Fields               | _experience.customerJourneyManagement.entities  | Luma midValues |
(4 rows)

Volgende stappen

Na het lezen van dit document, hebt u een beter inzicht in hoe te om SQL te gebruiken om een profiel en upsert-Toegelaten dataset tot stand te brengen die op afgeleide datasets wordt gebaseerd. U bent nu klaar om deze dataset met de werkschema's van de partijopname te gebruiken om updates aan uw profielgegevens te maken. Als u meer wilt weten over het opnemen van gegevens in Adobe Experience Platform, leest u eerst de gegevensinvoer - overzicht.

recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb