Conecte-se ao Data Distiller a partir de um Jupyter Notebook
Para enriquecer seus pipelines de aprendizado de máquina com dados de experiência do cliente de alto valor, primeiro você deve se conectar ao Data Distiller de Jupyter Notebooks. Este documento aborda as etapas para se conectar ao Data Distiller a partir de um bloco de anotações Python em seu ambiente de aprendizado de máquina.
Introdução
Este guia pressupõe que você esteja familiarizado com os blocos de anotações Python interativos e tenha acesso a um ambiente de bloco de anotações. O bloco de anotações pode ser hospedado em um ambiente de aprendizado de máquina baseado em nuvem ou localmente com Jupyter Notebook.
Obter credenciais de conexão obtain-credentials
Para se conectar ao Data Distiller e outros serviços da Adobe Experience Platform, você precisa de uma credencial de API do Experience Platform. As credenciais da API podem ser criadas no Adobe Developer Console por alguém com acesso de desenvolvedor ao Experience Platform. É recomendável criar uma credencial de API Oauth2 especificamente para fluxos de trabalho de ciência de dados e fazer com que um administrador de sistema da Adobe de sua organização atribua a credencial a uma função com permissões apropriadas.
Consulte Autenticar e acessar APIs do Experience Platform para obter instruções detalhadas sobre como criar uma credencial de API e obter as permissões necessárias.
As permissões recomendadas para ciência de dados incluem:
- Sandbox(ões) que será(ão) usada(s) para ciência de dados (geralmente
prod
) - Modelagem de dados: Gerenciar esquemas
- Gerenciamento de dados: Gerenciar conjuntos de dados
- Assimilação de dados: Exibir fontes
- Destinos: Gerenciar e ativar destinos do conjunto de dados
- Serviço de consulta: Gerenciar consultas
Por padrão, uma função (e as credenciais da API atribuídas a essa função) são bloqueadas para acessar quaisquer dados rotulados. Sujeito às políticas de governança de dados da organização, um Administrador do sistema pode conceder à função acesso a determinados dados rotulados que sejam considerados apropriados para o uso da ciência de dados. Os clientes da Experience Platform são responsáveis por gerenciar o acesso aos rótulos e as políticas adequadamente para cumprir com as normas e políticas organizacionais relevantes.
Armazenar credenciais em um arquivo de configuração separado store-credentials
Para manter sua credencial segura, é recomendável evitar gravar informações de credencial diretamente em seu código. Em vez disso, mantenha as informações de credencial em um arquivo de configuração separado e leia os valores necessários para se conectar à Experience Platform e ao Data Distiller.
Como exemplo, você pode criar um arquivo chamado config.ini
e incluir as seguintes informações (juntamente com quaisquer outras informações, como IDs de conjunto de dados, que seriam úteis para salvar entre sessões):
[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>
No bloco de anotações, você pode ler as informações de credencial na memória usando o pacote configParser
da biblioteca padrão Python:
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)
Você pode fazer referência a valores de credencial em seu código da seguinte maneira:
org_id = config.get('Credential', 'ims_org_id')
Instalar biblioteca Python da AEP install-python-library
aepp é uma biblioteca de código aberto Python gerenciada pela Adobe que fornece funções para conexão com o Data Distiller e envio de consultas, como fazer solicitações a outros serviços da Experience Platform. A biblioteca aepp
, por sua vez, depende do pacote psycopg2
do adaptador de banco de dados PostgreSQL para consultas interativas do Data Distiller. É possível conectar-se ao Data Distiller e consultar conjuntos de dados da Experience Platform apenas com psycopg2
, mas o aepp
oferece maior conveniência e funcionalidade adicional para fazer solicitações a todos os serviços de API da Experience Platform.
Para instalar ou atualizar o aepp
e o psycopg2
em seu ambiente, você pode usar o comando mágico %pip
em seu bloco de anotações:
%pip install --upgrade aepp
%pip install --upgrade psycopg2-binary
Você pode configurar a biblioteca aepp
com sua credencial usando o seguinte código:
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')
)
Criar uma conexão com o Data Distiller create-connection
Depois que aepp
for configurado com suas credenciais, você poderá usar o seguinte código para criar uma conexão com o Data Distiller e iniciar uma sessão interativa da seguinte maneira:
from aepp import queryservice
dd_conn = queryservice.QueryService().connection()
dd_cursor = queryservice.InteractiveQuery2(dd_conn)
Em seguida, você pode consultar os conjuntos de dados na sandbox da Experience Platform. Dada a ID de um conjunto de dados que você deseja consultar, você pode recuperar o nome da tabela correspondente do serviço de catálogo e executar consultas na tabela:
table_name = 'ecommerce_events'
simple_query = f'''SELECT * FROM {table_name} LIMIT 5'''
dd_cursor.query(simple_query)
Conecte-se a um único conjunto de dados para obter um desempenho de consulta mais rápido connect-to-single-dataset
Por padrão, a conexão do Data Distiller se conecta a todos os conjuntos de dados na sandbox. Para consultas mais rápidas e uso reduzido de recursos, você pode se conectar a um conjunto de dados específico de interesse. Você pode fazer isso alterando o dbname
no objeto de conexão do Data Distiller para {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)
Próximas etapas
Ao ler este documento, você aprendeu a se conectar ao Data Distiller a partir de um bloco de anotações Python em seu ambiente de aprendizado de máquina. A próxima etapa na criação de pipelines de recursos do Experience Platform para alimentar modelos personalizados em seu ambiente de aprendizado de máquina é explorar e analisar seus conjuntos de dados.