Fachartikel: Queries in der Adobe Experience Platform (AEP)
Artur Rutkiewicz, Digital Analytics & Targeting Consultant bei diva-e, kommt ursprünglich aus dem Bereich Data Analytics und Onsite Personalization & Testing. Aufgrund der fachlichen Nähe stand die Einarbeitung in die neue Adobe Experience Platform (AEP), als Adobe's CDP Lösung, fast schon schicksalshaft bevor. Meine dabei gewonnenen Erfahrungen möchte ich euch nicht vorenthalten.

Mitte 2020 begann ich mit der Einarbeitung in die neue Adobe Experience Platform (AEP). diva-e hat als erster Regional Partner überhaupt eine Sandbox zur Verfügung gestellt bekommen, mit der ich mich auch sogleich vertraut machen konnte. Aus den zahlreichen Schulungs- und Dokumentationsunterlagen verwies Adobe immer wieder auf ihr Architektur-Schaubild, welches mir bei vielen weiteren Fragen geholfen hat:
Quelle: Adobe Experience League
Query-Service in der AEP
Von Anfang an hat mich hierbei das Thema Query-Service in der AEP interessiert und ich bin sozusagen bis an die Belastungsgrenze dieses Features gegangen. Wer die Funktion noch nicht kennt: Mit Queries bezeichnet Adobe eine integrierte Schnittstelle, mit der via SQL-Statements AEP Datasets abgefragt werden können. In der Regel wird Standard SQL genutzt, es gibt aber auch ein paar adobe-spezifische Statements, welche in der sich permanent erweiternden Dokumentation beschrieben werden.
Das Schöne an diesen Queries ist, dass sie direkt im Tool also nah an der Datenquelle ausgeführt werden und somit kein Export der Daten oder Statements notwendig ist. Natürlich stellt sich bei einer CDP schnell die Frage, auf welche Daten der Query-Service zugreift – immerhin ist es Sinn und Zweck einer CDP, verschiedene Datenquellen über gemeinsame Identifier zu stitchen und somit Customer Profiles zu bilden. Hier kommt wieder Adobe's Architektur-Schaubild zum Tragen: Der Query-Service fragt Daten auf Datasetebene ab und kann nicht auf das (virtuell) erstellte Real-Time Customer Profile zugreifen.
Möchte man dies haben, ist ein Nachbau über die bekannten Identifier notwendig. Klingt kompliziert? Das kommt ganz auf die Menge der Datasets an und kann sehr schnell herausfordernd werden. Hier bietet sich die Datascience Umgebung der AEP (Jupyter-Notebooks) meines Erachtens nach eher an. Aber das ist wohl Geschmackssache, da beide Lösungen auf die gleichen Datenquellen zugreifen.
Der Zweck des Query-Services
Aber zurück zum eigentlichen Zweck des Query-Services. Wir hatten das Glück bei diva-e, sehr schnell nach der Einarbeitung in die Sandbox einen ersten Kunden für die AEP begeistern zu können. Im Laufe des Projektes stellte es sich immer wieder als hilfreich heraus, ein Dataset schnell und präzise abzufragen, um beispielsweise eine QS bei der Implementierung des Web SDKs durchzuführen, oder das Design eines Segments zu unterstützten. Schnell ist dabei relativ: Der Query-Service baut auf einer Postgres Infrastruktur auf, welche Abfragen etwas behäbig macht. So manches Mal bin ich schon an das Query Timeout von 10 Minuten gestoßen. Sagte ich Postgres? Ja genau, Adobe bietet die Möglichkeit an, den Query-Service mit einer eigenen PostgreSQL Infrastruktur zu verbinden. Wir haben dies beispielswiese mit dem integrierten Connector von Tableau und in RStudio ausprobiert und voilà – schon können wir außerhalb der AEP Daten abfragen, abspeichern, visualisieren, uvm. Mehr dazu hier.
Erstellen eines Schemas zur Query-Abfrage
War das alles? Natürlich ist die reine Abfrage von Daten schön und gut, aber nur bei ad hoc Fragestellungen sinnvoll. Adobe bietet zwar in der UI die Möglichkeit an, Abfragen in einem Dataset abzuspeichern. Allerdings entsteht dadurch ein sogenanntes „ad-hoc“ Dataset, welchem ein automatisch generiertes Schema (basierend auf dem Adobe XDM) zugrunde liegt und nicht für Profile aktiviert werden kann. Das ist schade und häufig nicht zielführend, aber natürlich zu umgehen. Was man braucht, ist zunächst ein bereits angelegtes Schema (für Profile aktiviert oder zumindest aktivierbar). Mit
CREATE TABLE <dataset_name> WITH (schema='<schema_name>', rowvalidation='true')
und dem entsprechenden Statement wird ein neues Dataset mit den aktuell abgefragten Daten auf einem vorhandenen Schema erstellt. Möchte man ein vorhandenes Dataset befüllen hilft der
INSERT INTO <dataset_name>
Befehl weiter. Einige Zeit hat mich aber der richtige Befehl für das Befüllen von Objekten, welche in AEP Schemas des Öfteren vorkommen, gekostet. Mit
STRUCT(<statement>) AS <object_name>
habe ich endlich die Lösung gefunden. Ein reguläres Dataset wird nun mit den Ergebnissen einer Query-Abfrage befüllt und kann für Profile aktiviert werden. Und wenn man das ganze schedulen möchte? Dann hilft ein Blick in die API, denn über diese lassen sich Queries schedulen. Mehr dazu hier.
Dabei muss man sich etwas mit dem „cron expression format“ auseinandersetzten – das kann am Anfang ein wenig tricky sein, aber wie bei Regex kommt man schließlich an sein Ziel. Wichtig ist noch, dass innerhalb des Query Statements im API Payload keine Anführungsreichen verwendet werden dürfen, sondern durch einen einzelnen Apostroph (') ersetzt werden sollte.
Fazit
Queries in der Adobe Experience Platform sind ein mächtiges Tool, um zum einen schnell an die Informationen in den Datasets zu kommen. Darüber hinaus bieten sie die Möglichkeit die in der AEP vorhandenen Daten für Visualisierungen und sogar Berechnungen zu verwenden. Gerade der letzte Punkt zeigt wie offen die Platform gestaltet ist, und ein breites Toolset anbietet um sein Ziel zu erreichen.
On-Demand Webinar: Adobe Experience Platform (AEP) & Informatica Data Integration Cloud
Um dabei eine hohe Datenqualität zu gewährleisten, kann ein ETL Tool hilfreich sein. Die Data Integration Services der Informatica Intelligent Cloud Services liefern ein solches, auf AEP abgestimmtes Toolset, welches ich in meinem On-Demand Webinar vorstellen. Hier jederzeit kostenfrei ansehen.
diva-e Adobe-Expertise vom führenden Digitalpartner
Auch unsere Webpräsenz rund um die Adobe Experience Cloud und unsere langjährige Partnerschaft erweitern wir stets mit den neuesten Informationen, unseren Leistungen und hilfreichen Tipps, Success Stories und Webinaren für unsere Kunden.
Sie wollen mehr über unsere Full-Service-Dienstleistungen, Expertise und Projekte rund um Adobe erfahren? Gerne können Sie sich in unserer Adobe-Bibliothek passende Webinare anschauen und sich über alles Weitere informieren.