Creación de modelos con el SDK Platform de Adobe Experience Platform

Este tutorial le proporciona información sobre la conversión de data_access_sdk_python al nuevo Python platform_sdk en Python y R. Este tutorial proporciona información sobre las siguientes operaciones:

Generar autenticación

La autenticación es necesaria para realizar llamadas a Adobe Experience Platform y está compuesta por clave de API, ID de organización de IMS, un token de usuario y un token de servicio.

Python

Si utiliza el bloc de notas Jupyter, utilice el código siguiente para generar el client_context:

client_context = PLATFORM_SDK_CLIENT_CONTEXT

Si no está utilizando Jupyter Notebook o necesita cambiar la organización de IMS, utilice el siguiente código de muestra:

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

Si utiliza el bloc de notas Jupyter, utilice el código siguiente para generar el 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

Si no está utilizando Jupyter Notebook o necesita cambiar la organización de IMS, utilice el siguiente código de muestra:

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

Lectura básica de datos

Con el nuevo SDK Platform, el tamaño máximo de lectura es de 32 GB, con un tiempo máximo de lectura de 10 minutos.

Si el tiempo de lectura tarda demasiado, puede intentar utilizar una de las siguientes opciones de filtrado:

NOTA

La organización de IMS se establece dentro de client_context.

Python

Para leer datos en Python, utilice el código de muestra siguiente:

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

R

Para leer los datos en R, utilice el código de muestra siguiente:

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

Filtrar por desplazamiento y limitar

Dado que ya no se admite el filtrado por ID de lote, para definir el ámbito de la lectura de datos, debe utilizar offset y limit.

Python

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

R

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

Filtrar por fecha

La granularidad del filtro de fechas ahora se define mediante la marca de tiempo, en lugar de establecerse por el día.

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

El nuevo SDK Platform admite las siguientes operaciones:

Operación Función
Es igual a (=) eq()
Greater than (>) gt()
Greater than or equal to (>=) ge()
Less than (<) lt()
Less than or equal to (<=) le()
Y (&) And()
O (|) Or()

Filtrar por columnas seleccionadas

Para restringir aún más la lectura de datos, también puede filtrar por nombre de columna.

Python

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

R

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

Obtener resultados ordenados

Los resultados recibidos se pueden ordenar por columnas especificadas del conjunto de datos de destinatario y en su orden (asc/desc) respectivamente.

En el siguiente ejemplo, dataframe se ordena primero por "column-a" en orden ascendente. Las filas que tienen los mismos valores para "columna-a" se ordenan por "columna-b" en orden descendente.

Python

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

R

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

Escritura básica de datos

NOTA

La organización de IMS se establece dentro de client_context.

Para escribir datos en Python y R, utilice uno de los siguientes ejemplos:

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

Pasos siguientes

Una vez configurado el cargador de datos platform_sdk, los datos se preparan y luego se dividen en los datasets train y val. Para obtener más información sobre la preparación de datos y la ingeniería de características, visite la sección sobre preparación de datos e ingeniería de características en el tutorial para crear una fórmula mediante JupyterLab blocs de notas.

En esta página

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
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