Authoring di modelli con SDK Adobe Experience Platform Platform
Questo esercitazione fornisce informazioni sulla conversione data_access_sdk_python
al nuovo Python platform_sdk
sia in Python che in R. In questo esercitazione vengono fornite informazioni sulle seguenti operazioni:
Genera autenticazione build-authentication
Per effettuare chiamate a Adobe Experience Platform è necessaria l'autenticazione, che comprende la chiave API, l'ID organizzazione, un token utente e un token di servizio.
Python
Se si utilizza Jupyter Notebook, utilizzare il codice seguente per generare client_context
:
client_context = PLATFORM_SDK_CLIENT_CONTEXT
Se non utilizzi Jupyter Notebook o se devi cambiare l’organizzazione, utilizza il seguente codice di esempio:
from platform_sdk.client_context import ClientContext
client_context = ClientContext(api_key={API_KEY},
org_id={ORG_ID},
user_token={USER_TOKEN},
service_token={SERVICE_TOKEN})
R
Se si utilizza Jupyter Notebook, utilizzare il codice seguente per generare 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 se devi cambiare organizzazione, 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={ORG_ID},
user_token={USER_TOKEN},
service_token={SERVICE_TOKEN})
Lettura di base dei dati basic-reading-of-data
Con il nuovo SDK Platform, la dimensione massima di lettura è di 32 GB, con un tempo massimo di lettura di 10 minuti.
Se il tempo di lettura richiede troppo tempo, puoi provare a utilizzare una delle seguenti opzioni di filtro:
client_context
.Python
Per leggere i dati in Python, usa l'esempio di codice seguente:
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, utilizzare l'esempio di codice riportato di seguito:
DatasetReader <- psdk$dataset_reader$DatasetReader
dataset_reader <- DatasetReader(client_context, "{DATASET_ID}")
df <- dataset_reader$read()
df
Filtra per offset e limite filter-by-offset-and-limit
Poiché il filtraggio per ID batch non è più supportato, per ambito lettura dei dati, è necessario utilizzare offset
e limit
.
Python
df = dataset_reader.limit(100).offset(1).read()
df.head
R
df <- dataset_reader$limit(100L)$offset(1L)$read()
df
Filtra per data filter-by-date
La granularità del filtro delle date ora è definita dalla marca temporale, anziché essere impostata dal giorno.
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
Il nuovo SDK Platform supporta le operazioni seguenti:
=
)eq()
>
)gt()
>=
)ge()
<
)lt()
<=
)le()
&
)And()
Filtra per colonne selezionate filter-by-selected-columns
Per perfezionare ulteriormente la lettura dei dati, puoi anche filtrare per nome di colonna.
Python
df = dataset_reader.select(['column-a','column-b']).read()
R
df <- dataset_reader$select(c('column-a','column-b'))$read()
Ottieni risultati ordinati get-sorted-results
I risultati ricevuti possono essere ordinati in base a colonne specificate del set di dati di destinazione e nel loro ordine (asc/desc) rispettivamente.
Nell’esempio seguente, il dataframe è ordinato per "colonna-a" in ordine crescente. Le righe con gli stessi valori per "column-a" sono quindi ordinate per "column-b" in ordine 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()
Scrittura di base dei dati basic-writing-of-data
client_context
.Per scrivere dati in Python e R, usa uno degli esempi seguenti di seguito:
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')
Passaggi successivi
Una volta configurato il platform_sdk
caricatore di dati, i dati vengono sottoposti a preparazione e quindi suddivisi nei train
set di dati AND val
. Per informazioni sulla preparazione dei dati e sulla progettazione delle funzionalità, visitare la sezione relativa alla preparazione dei dati e alla progettazione delle funzionalità nell'esercitazione per la creazione di una ricetta utilizzando JupyterLab notebook.