Authoring di modelli con Adobe Experience Platform Platform SDK

Questa esercitazione fornisce informazioni sulla conversione data_access_sdk_python al nuovo Python platform_sdk in Python e R. Questa esercitazione fornisce informazioni sulle seguenti operazioni:

Creare l’autenticazione

È necessaria l’autenticazione per effettuare chiamate a Adobe Experience Platformed è composto da chiave API, ID organizzazione IMS, un token utente e un token di servizio.

Pitone

Se utilizzi Jupyter Notebook, utilizza il codice seguente per creare il client_context:

client_context = PLATFORM_SDK_CLIENT_CONTEXT

Se non utilizzi Jupyter Notebook o hai bisogno di modificare l'organizzazione IMS, utilizza il seguente codice di esempio:

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 utilizzi Jupyter Notebook, utilizza il codice seguente per creare il 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 non utilizzi Jupyter Notebook o hai bisogno di modificare l'organizzazione IMS, utilizza il seguente codice di esempio:

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

Lettura di base dei dati

Con il nuovo Platform SDK, la dimensione massima di lettura è di 32 GB, con un tempo massimo di lettura di 10 minuti.

Se il tempo di lettura è troppo lungo, puoi provare a utilizzare una delle seguenti opzioni di filtro:

NOTA

L’organizzazione IMS è impostata all’interno della client_context.

Pitone

Per leggere i dati in Python, si prega di utilizzare il codice di esempio qui sotto:

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

R

Per leggere i dati in R, utilizza il codice di esempio qui sotto:

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

Filtra per offset e limite

Poiché il filtro per ID batch non è più supportato, per poter estendere la lettura dei dati è necessario utilizzare offset e limit.

Pitone

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

R

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

Filtra per data

La granularità del filtro data è ora definita dalla marca temporale, anziché essere impostata dal giorno.

Pitone

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

Il nuovo Platform L'SDK supporta le seguenti operazioni:

Funzionamento Funzione
È uguale a (=) eq()
Maggiore di (>) gt()
Maggiore o uguale a (>=) ge()
Minore di (<) lt()
Minore o uguale a (<=) le()
E (&) And()
Oppure (` `)

Filtra per colonne selezionate

Per perfezionare ulteriormente la lettura dei dati, puoi anche filtrare per nome della colonna.

Pitone

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

R

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

Ottieni risultati ordinati

I risultati ricevuti possono essere ordinati in base a colonne specifiche del set di dati di destinazione e nell’ordine corrispondente (rispettivamente asc/desc).

Nell'esempio seguente, il dataframe viene ordinato per "column-a" prima in ordine crescente. Le righe con gli stessi valori per "colonna-a" vengono quindi ordinate per "colonna-b" in ordine decrescente.

Pitone

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

R

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

Scrittura dei dati di base

NOTA

L’organizzazione IMS è impostata all’interno della client_context.

Per scrivere dati in Python e R, utilizza uno dei seguenti esempi:

Pitone

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

Passaggi successivi

Una volta configurato il platform_sdk data loader, i dati vengono preparati e quindi suddivisi in train e val set di dati. Per informazioni sulla preparazione dei dati e sull'ingegneria delle funzioni, visita la sezione su preparazione dei dati e ingegneria delle funzioni nell’esercitazione per creare una ricetta utilizzando JupyterLab quaderni.

In questa pagina