Criação de modelo usando o SDK Platform do Adobe Experience Platform

Este tutorial fornece informações sobre a conversão de data_access_sdk_python para o novo Python platform_sdk em Python e R. Este tutorial fornece informações sobre as seguintes operações:

Autenticação de compilação

A autenticação é necessária para fazer chamadas para Adobe Experience Platform e é composta de Chave de API, ID de Org de IMS, um token de usuário e um token de serviço.

Python

Se você estiver usando o Bloco de Anotações do Jupyter, use o código abaixo para criar o client_context:

client_context = PLATFORM_SDK_CLIENT_CONTEXT

Se você não estiver usando o Jupyter Notebook ou precisar alterar a IMS Org, use a amostra de código abaixo:

from platform_sdk.client_context import ClientContext
client_context = ClientContext(api_key={API_KEY},
              org_id={IMS_ORG},
              user_token={USER_TOKEN},
              service_token={SERVICE_TOKEN})

R

Se você estiver usando o Bloco de Anotações do Jupyter, use o código abaixo para criar o client_context:

library(reticulate)
use_python("/usr/local/bin/ipython")
psdk <- import("platform_sdk")

py_run_file("../.ipython/profile_default/startup/platform_sdk_context.py")
client_context <- py$PLATFORM_SDK_CLIENT_CONTEXT

Se você não estiver usando o Jupyter Notebook ou precisar alterar a IMS Org, use a amostra de código abaixo:

library(reticulate)
use_python("/usr/local/bin/ipython")
psdk <- import("platform_sdk")
client_context <- psdk$client_context$ClientContext(api_key={API_KEY},
              org_id={IMS_ORG},
              user_token={USER_TOKEN},
              service_token={SERVICE_TOKEN})

Leitura básica de dados

Com o novo SDK Platform, o tamanho máximo de leitura é de 32 GB, com um tempo máximo de leitura de 10 minutos.

Se o tempo de leitura estiver demorando muito, tente usar uma das seguintes opções de filtragem:

OBSERVAÇÃO

A Organização IMS é definida no client_context.

Python

Para ler dados em Python, use a amostra de código abaixo:

from platform_sdk.dataset_reader import DatasetReader
dataset_reader = DatasetReader(client_context, "{DATASET_ID}")
df = dataset_reader.limit(100).read()
df.head()

R

Para ler os dados em R, use a amostra de código abaixo:

DatasetReader <- psdk$dataset_reader$DatasetReader
dataset_reader <- DatasetReader(client_context, "{DATASET_ID}") 
df <- dataset_reader$read() 
df

Filtrar por deslocamento e limitar

Como a filtragem por ID de lote não é mais suportada, para escopo da leitura de dados, é necessário usar offset e limit.

Python

df = dataset_reader.limit(100).offset(1).read()
df.head

R

df <- dataset_reader$limit(100L)$offset(1L)$read() 
df

Filtrar por data

A granularidade da filtragem de datas agora é definida pelo carimbo de data e hora, em vez de ser definida pelo dia.

Python

df = dataset_reader.where(\
    dataset_reader['timestamp'].gt('2019-04-10 15:00:00').\
    And(dataset_reader['timestamp'].lt('2019-04-10 17:00:00'))\
).read()
df.head()

R

df2 <- dataset_reader$where(
    dataset_reader['timestamp']$gt('2018-12-10 15:00:00')$
    And(dataset_reader['timestamp']$lt('2019-04-10 17:00:00'))
)$read()
df2

O novo SDK Platform oferece suporte às seguintes operações:

Operação Função
Igual a (=) eq()
Greater than (>) gt()
Greater than or equal to (>=) ge()
Less than (<) lt()
Less than or equal to (<=) le()
E (&) And()
Ou (|) Or()

Filtrar por colunas selecionadas

Para refinar ainda mais a leitura de dados, também é possível filtrar por nome de coluna.

Python

df = dataset_reader.select(['column-a','column-b']).read()

R

df <- dataset_reader$select(c('column-a','column-b'))$read() 

Obter resultados classificados

Os resultados recebidos podem ser classificados por colunas especificadas do conjunto de dados de destino e em sua ordem (asc/desc), respectivamente.

No exemplo a seguir, o dataframe é classificado por "coluna-a" primeiro em ordem crescente. As linhas que têm os mesmos valores para "coluna-a" são classificadas por "coluna-b" em ordem decrescente.

Python

df = dataset_reader.sort([('column-a', 'asc'), ('column-b', 'desc')])

R

df <- dataset_reader$sort(c(('column-a', 'asc'), ('column-b', 'desc')))$read()

Escrita básica de dados

OBSERVAÇÃO

A Organização IMS é definida no client_context.

Para gravar dados em Python e R, use um dos seguintes exemplos:

Python

from platform_sdk.models import Dataset
from platform_sdk.dataset_writer import DatasetWriter

dataset = Dataset(client_context).get_by_id("{DATASET_ID}")
dataset_writer = DatasetWriter(client_context, dataset)
write_tracker = dataset_writer.write({PANDA_DATAFRAME}, file_format='json')

R

dataset <- psdk$models$Dataset(client_context)$get_by_id("{DATASET_ID}")
dataset_writer <- psdk$dataset_writer$DatasetWriter(client_context, dataset)
write_tracker <- dataset_writer$write({PANDA_DATAFRAME}, file_format='json')

Próximas etapas

Depois de configurar o carregador de dados platform_sdk, os dados são preparados e divididos nos conjuntos de dados train e val. Para saber mais sobre a preparação de dados e a engenharia de recursos, visite a seção sobre preparação de dados e engenharia de recursos no tutorial para criar uma fórmula usando blocos de anotações JupyterLab.

Nesta página

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now