Connexion à Data Distiller à partir d’un notebook Jupyter

Pour enrichir vos pipelines de machine learning avec des données d’expérience client à forte valeur ajoutée, vous devez d’abord vous connecter à Data Distiller à partir de Jupyter Notebooks. Ce document décrit les étapes à suivre pour se connecter à Data Distiller à partir d’un notebook Python dans votre environnement de machine learning.

Commencer

Ce guide suppose que vous connaissez les notebooks Python interactifs et que vous avez accès à un environnement de notebook. Le notebook peut être hébergé dans un environnement de machine learning basé sur le cloud ou localement avec Jupyter Notebook.

Obtention des informations de connexion obtain-credentials

Pour vous connecter à Data Distiller et à d’autres services Adobe Experience Platform, vous avez besoin d’informations d’identification d’API Experience Platform. Les informations d'identification d'API peuvent être créées dans Adobe Developer Console par une personne disposant d'un accès développeur à Experience Platform. Il est recommandé de créer des informations d’identification d’API Oauth2 spécifiquement pour les workflows de science des données et de demander à un administrateur système Adobe de votre organisation d’affecter les informations d’identification à un rôle avec les autorisations appropriées.

Consultez Authentification et accès aux API Experience Platform pour obtenir des instructions détaillées sur la création d’informations d’identification d’API et l’obtention des autorisations requises.

Les autorisations recommandées pour la science des données sont les suivantes :

  • Sandbox(s) qui seront utilisés pour la science des données (généralement prod)
  • Modélisation des données : Gérer les schémas
  • Gestion des données : ​ Gérer les jeux de données ​
  • Ingestion des données : Afficher les sources
  • Destinations : Gérer et activer des destinations de jeu de données
  • Query Service : Gérer les requêtes

Par défaut, un rôle (et les informations d’identification d’API affectées à ce rôle) ne peut accéder à aucune donnée libellée. Sous réserve des politiques de gouvernance des données de l’organisation, un administrateur système peut accorder au rôle l’accès à certaines données libellées jugées appropriées à l’utilisation de la science des données. Il est de la responsabilité des clients d’Experience Platform de gérer les politiques et l’accès aux libellés de manière appropriée afin de se conformer aux réglementations et aux politiques organisationnelles pertinentes.

Stockez les informations d’identification dans un fichier de configuration distinct. store-credentials

Pour garantir la sécurité de vos informations d’identification, il est recommandé d’éviter d’écrire des informations d’identification directement dans votre code. Conservez plutôt les informations d’identification dans un fichier de configuration distinct et lisez les valeurs nécessaires pour vous connecter à Experience Platform et à Data Distiller.

Par exemple, vous pouvez créer un fichier appelé config.ini et inclure les informations suivantes (ainsi que d’autres informations, telles que les identifiants de jeu de données, qui seraient utiles pour enregistrer entre les sessions) :

[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>

Dans votre notebook, vous pouvez ensuite lire les informations d’identification en mémoire à l’aide du package configParser de la bibliothèque de Python standard :

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)

Vous pouvez ensuite référencer des valeurs d’identification dans votre code comme suit :

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

Installer la bibliothèque AEP Python install-python-library

aepp est une bibliothèque de Python open source gérée par Adobe qui fournit des fonctions permettant de se connecter à Data Distiller et d’envoyer des requêtes, comme pour envoyer des requêtes à d’autres services Experience Platform. La bibliothèque aepp s’appuie à son tour sur le package d’adaptateur de base de données PostgreSQL psycopg2 pour les requêtes interactives de Data Distiller. Il est possible de se connecter à Data Distiller et d’interroger des jeux de données Experience Platform avec psycopg2 seul, mais aepp offre davantage de commodité et de fonctionnalités supplémentaires pour adresser des requêtes à tous les services d’API Experience Platform.

Pour installer ou mettre à niveau aepp et psycopg2 dans votre environnement, vous pouvez utiliser la commande magique %pip dans votre notebook :

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

Vous pouvez ensuite configurer la bibliothèque aepp avec vos informations d’identification à l’aide du code suivant :

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

Création d’une connexion à Data Distiller create-connection

Une fois aepp a configuré vos informations d’identification, vous pouvez utiliser le code suivant pour établir une connexion à Data Distiller et démarrer une session interactive comme suit :

from aepp import queryservice

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

Vous pouvez ensuite interroger les jeux de données dans votre sandbox Experience Platform. Compte tenu de l’identifiant d’un jeu de données sur lequel vous souhaitez effectuer une requête, vous pouvez récupérer le nom de la table correspondante à partir du service de catalogue et exécuter des requêtes sur la table :

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

Connexion à un seul jeu de données pour des performances de requête plus rapides connect-to-single-dataset

Par défaut, la connexion au Distiller de données se connecte à tous les jeux de données de votre sandbox. Pour des requêtes plus rapides et une utilisation réduite des ressources, vous pouvez plutôt vous connecter à un jeu de données spécifique ciblé. Pour ce faire, modifiez la dbname dans l’objet de connexion de Distiller de données en {sandbox}:{table_name} :

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)

Étapes suivantes

En lisant ce document, vous avez appris à vous connecter à Data Distiller à partir d’un notebook Python dans votre environnement de machine learning. L’étape suivante de la création de pipelines de fonctionnalités à partir d’Experience Platform pour alimenter des modèles personnalisés dans votre environnement de machine learning consiste à explorer et analyser vos jeux de données.

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