Connexion à Data Distiller à partir d’un notebook Jupyter

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

Prise en main

Ce guide suppose que vous connaissez l’interactivité Python des notebooks et ont accès à un environnement de notebook. Le notebook peut être hébergé dans un environnement d’apprentissage automatique basé sur le cloud ou localement avec Jupyter Notebook.

Obtention des informations d’identification 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 de l’API peuvent être créées dans Console Adobe Developer par une personne disposant d’un accès Développeur à l’Experience Platform. Il est recommandé de créer des informations d’identification d’API Oauth2 spécifiquement pour les processus de science des données et de demander à un administrateur système d’Adobe de votre entreprise d’attribuer les informations d’identification à un rôle avec les autorisations appropriées.

Voir 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.

Voici quelques-unes des autorisations recommandées pour la science des données :

  • Environnements de test qui seront utilisés pour la science des données (généralement prod)
  • Modélisation des données : Gestion des schémas
  • Data management : Gestion des jeux de données
  • Ingestion de données : Afficher les sources
  • Destinations : Gestion et activation des destinations de jeu de données
  • Query Service : Gestion des requêtes

Par défaut, un rôle (et les informations d’identification d’API affectées à ce rôle) ne peuvent pas accéder aux données étiquetées. 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 étiquetées jugées appropriées pour l’utilisation de la science des données. Les clients de Platform sont chargés de gérer l’accès aux étiquettes et les stratégies de manière appropriée afin de se conformer aux réglementations et aux politiques organisationnelles pertinentes.

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

Pour préserver 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 à l’Experience Platform et à Data Distiller.

Par exemple, vous pouvez créer un fichier appelé config.ini et d’inclure les informations suivantes (ainsi que toute autre information, telle que les identifiants de jeu de données, qui serait utile 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 de la variable configParser du module standard Python bibliothèque :

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’informations d’identification dans votre code comme suit :

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

Installation de la bibliothèque aepp Python install-python-library

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

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

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

Vous pouvez ensuite configurer la variable 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 est configuré avec vos informations d’identification, vous pouvez utiliser le code suivant pour créer 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 environnement de test Experience Platform. Étant donné l’identifiant d’un jeu de données que vous souhaitez interroger, vous pouvez récupérer le nom de table correspondant à 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 à Data Distiller se connecte à tous les jeux de données de votre environnement de test. Pour accélérer les requêtes et réduire l’utilisation des ressources, vous pouvez vous connecter à un jeu de données spécifique qui vous intéresse. Pour ce faire, modifiez la variable dbname dans l’objet de connexion de Data Distiller à {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 Python notebook dans votre environnement d’apprentissage automatique. 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 d’apprentissage automatique consiste à explorer et analyser vos jeux de données.

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