Verbinden von einem Jupyter-Notebook mit Data Distiller

Um Ihre Pipelines für maschinelles Lernen mit hochwertigen Kundenerlebnisdaten anzureichern, müssen Sie zunächst eine Verbindung zu Data Distiller von Jupyter Notebooks herstellen. In diesem Dokument werden die Schritte zum Herstellen einer Verbindung zu Data Distiller von einem Python-Notebook in Ihrer maschinellen Lernumgebung beschrieben.

Erste Schritte

In diesem Handbuch wird davon ausgegangen, dass Sie mit interaktiven Python-Notebooks vertraut sind und Zugriff auf eine Notebook-Umgebung haben. Das Notebook kann in einer Cloud-basierten Umgebung für maschinelles Lernen oder lokal mit Jupyter Notebook gehostet werden.

Abrufen von Verbindungsberechtigungen obtain-credentials

Um eine Verbindung zu Data Distiller und anderen Adobe Experience Platform-Services herzustellen, benötigen Sie Experience Platform-API-Anmeldedaten. API-Anmeldeinformationen können in der Adobe Developer Console von einer Person erstellt werden, die Entwicklerzugriff auf die Experience Platform hat. Es wird empfohlen, eine OAuth2-API-Berechtigung speziell für datenwissenschaftliche Workflows zu erstellen und einen Adobe-Systemadministrator Ihres Unternehmens anzuweisen, die Berechtigung einer Rolle mit entsprechenden Berechtigungen zuzuweisen.

Detaillierte zum Erstellen von API Anmeldeinformationen und zum Abrufen der erforderlichen Berechtigungen finden Sie unterAuthentifizieren und Zugreifen auf Experience Platform-APIs“.

Zu den empfohlenen Berechtigungen für Data Science gehören:

  • Sandbox(es), die für die Datenwissenschaft verwendet werden (normalerweise prod)
  • Datenmodellierung: Schemata verwalten
  • Daten-Management: Datensätze verwalten
  • Datenaufnahme: Quellen anzeigen
  • Ziele: Datensatzziele verwalten und aktivieren
  • Abfrage-Service: Abfragen verwalten

Standardmäßig wird einer Rolle (und den dieser Rolle zugewiesenen API-Anmeldeinformationen) der Zugriff auf alle gekennzeichneten Daten verweigert. Abhängig von den Data Governance-Richtlinien des Unternehmens kann ein Systemadministrator der Rolle Zugriff auf bestimmte gekennzeichnete Daten gewähren, die für die Verwendung in der Datenwissenschaft als geeignet erachtet werden. Platform-Kundinnen und -Kunden sind dafür verantwortlich, die Richtlinien für den Zugriff auf Kennzeichnungen und die Einhaltung relevanter Vorschriften und organisatorischer Richtlinien angemessen zu verwalten.

Speichern von Anmeldeinformationen in einer separaten Konfigurationsdatei store-credentials

Um Ihre Anmeldeinformationen sicher zu halten, sollten Sie es vermeiden, Anmeldeinformationen direkt in Ihren Code zu schreiben. Bewahren Sie stattdessen die Anmeldeinformationen in einer separaten Konfigurationsdatei auf und lesen Sie die Werte ein, die zum Herstellen einer Verbindung mit der Experience Platform und Data Distiller erforderlich sind.

Beispielsweise können Sie eine Datei mit dem Namen config.ini erstellen und die folgenden Informationen (sowie alle anderen Informationen wie Datensatz-IDs, die zwischen Sitzungen gespeichert werden sollten) einfügen:

[Credential]
ims_org_id=<YOUR_IMS_ORG_ID>
sandbox_name=<YOUR_SANDBOX_NAME>
client_id=<YOUR_CLIENT_ID>
client_secret=<YOUR_CLIENT_SECRET>
scopes=openid, AdobeID, read_organizations, additional_info.projectedProductContext, session
tech_acct_id=<YOUR_TECHNICAL_ACCOUNT_ID>

In Ihrem -Notebook können Sie dann die Informationen zu den Anmeldeinformationen mithilfe des configParser-Pakets aus der standardmäßigen Python-Bibliothek in den Speicher lesen:

from configparser import ConfigParser

# Create a ConfigParser object to read and store information from config.ini
config = ConfigParser()
config_path = '<PATH_TO_YOUR_CONFIG.INI_FILE>'
config.read(config_path)

Anschließend können Sie wie folgt auf Werte der Anmeldeinformationen in Ihrem Code verweisen:

org_id = config.get('Credential', 'ims_org_id')

Installieren der AEP Python-Bibliothek install-python-library

aepp ist eine von Adobe verwaltete Open-Source-Python, die Funktionen zum Herstellen einer Verbindung mit Data Distiller und zum Senden von Abfragen sowie zum Anfordern an andere Experience Platform-Services bereitstellt. Die aepp-Bibliothek wiederum basiert auf dem PostgreSQL-Datenbankadapterpaket, das für interaktive Daten-Distiller-Abfragen psycopg2 ist. Es ist möglich, nur mit psycopg2 eine Verbindung zu Data Distiller herzustellen und Experience Platform-Datensätze abzufragen, aepp bietet jedoch mehr Komfort und zusätzliche Funktionen, um Anfragen an alle Experience Platform-API-Services zu senden.

Um aepp und psycopg2 in Ihrer Umgebung zu installieren oder zu aktualisieren, können Sie den %pip magic-Befehl in Ihrem Notebook verwenden:

%pip install --upgrade aepp
%pip install --upgrade psycopg2-binary

Anschließend können Sie die aepp-Bibliothek mit Ihren Anmeldedaten mithilfe des folgenden Codes konfigurieren:

from configparser import ConfigParser

# Create a ConfigParser object to read and store information from config.ini
config = ConfigParser()
config_path = '<PATH_TO_YOUR_CONFIG.INI_FILE>'
config.read(config_path)

# Configure aepp with your credentials
import aepp

aepp.configure(
  org_id=config.get('Credential', 'ims_org_id'),
  sandbox=config.get('Credential', 'sandbox_name'),
  client_id=config.get('Credential', 'client_id'),
  secret=config.get('Credential', 'client_secret'),
  scopes=config.get('Credential', 'scopes'),
  tech_id=config.get('Credential', 'tech_acct_id')
)

Erstellen einer Verbindung mit Data Distiller create-connection

Nachdem aepp mit Ihren Anmeldeinformationen konfiguriert wurde, können Sie den folgenden Code verwenden, um eine Verbindung zu Data Distiller herzustellen und eine interaktive Sitzung zu starten:

from aepp import queryservice

dd_conn = queryservice.QueryService().connection()
dd_cursor = queryservice.InteractiveQuery2(dd_conn)

Anschließend können Sie die Datensätze in Ihrer Experience Platform-Sandbox abfragen. Angesichts der ID eines Datensatzes, den Sie abfragen möchten, können Sie den entsprechenden Tabellennamen aus dem Katalog-Service abrufen und Abfragen für die Tabelle ausführen:

table_name = 'ecommerce_events'
simple_query = f'''SELECT * FROM {table_name} LIMIT 5'''
dd_cursor.query(simple_query)

Herstellen einer Verbindung zu einem einzelnen Datensatz für eine schnellere Abfrageleistung connect-to-single-dataset

Standardmäßig stellt die Data Distiller-Verbindung eine Verbindung zu allen Datensätzen in Ihrer Sandbox her. Für schnellere Abfragen und eine reduzierte Ressourcennutzung können Sie stattdessen eine Verbindung zu einem bestimmten Datensatz von Interesse herstellen. Sie können dies tun, indem Sie die dbname im Data Distiller-Verbindungsobjekt in {sandbox}:{table_name} ändern:

from aepp import queryservice

sandbox = config.get('Credential', 'sandbox_name')
table_name = 'ecommerce_events'

dd_conn = queryservice.QueryService().connection()
dd_conn['dbname'] = f'{sandbox}:{table_name}'
dd_cursor = queryservice.InteractiveQuery2(dd_conn)

Nächste Schritte

Durch das Lesen dieses Dokuments haben Sie gelernt, wie Sie in Ihrer maschinellen Lernumgebung von einem Python-Notebook aus eine Verbindung zu Data Distiller herstellen können. Der nächste Schritt beim Erstellen von Funktions-Pipelines vom Experience Platform zur Bereitstellung benutzerdefinierter Modelle in Ihrer maschinellen Lernumgebung besteht darin, Datensätze zu durchsuchen und zu analysieren.

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