Show Menu
ARGOMENTI×

Guida all'SDK per la piattaforma

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

Autenticazione build

L’autenticazione è necessaria per effettuare chiamate ad Adobe Experience Platform ed è composta da Chiave API, ID organizzazione IMS, un token utente e un token di servizio.

Python

Se si utilizza il blocco appunti Jupyter, utilizzare il codice seguente per creare il client_context :
client_context = PLATFORM_SDK_CLIENT_CONTEXT

Se non si utilizza il blocco appunti Jupyter o è necessario modificare l'organizzazione IMS, utilizzare il seguente esempio di codice:
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 si utilizza il blocco appunti Jupyter, utilizzare 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 si utilizza il blocco appunti Jupyter o è necessario modificare l'organizzazione IMS, utilizzare il seguente esempio di codice:
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 SDK della piattaforma, la dimensione massima di lettura è 32 GB, con un tempo massimo di lettura di 10 minuti.
Se il tempo di lettura è troppo lungo, è possibile provare a utilizzare una delle seguenti opzioni di filtro:
L’organizzazione IMS è impostata all’interno dell’ client_context .

Python

Per leggere i dati in Python, si prega di utilizzare 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 seguente:
DatasetReader <- psdk$dataset_reader$DatasetReader
dataset_reader <- DatasetReader(client_context, "{DATASET_ID}") 
df <- dataset_reader$read() 
df

Filtrare per offset e limite

Poiché il filtro per ID batch non è più supportato, per estendere la 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

Filtrare per data

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 della piattaforma supporta le seguenti operazioni:
Funzionamento
Funzione
È uguale a ( = )
eq()
Maggiore di ( > )
gt()
Maggiore o uguale a ( >= )
ge()
Less than ( < )
lt()
Minore o uguale a ( <= )
le()
And ( & )
And()
Oppure ( | )
Or()

Filtra per colonne selezionate

Per migliorare ulteriormente la lettura dei dati, è inoltre possibile filtrare in base al nome della 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

I risultati ricevuti possono essere ordinati in base alle colonne specificate del dataset di destinazione e nel relativo ordine (asc/desc), rispettivamente.
Nell'esempio seguente, i dataframe vengono ordinati per "colonna-a" in ordine crescente. Le righe con gli stessi valori per "colonna-a" vengono quindi ordinate per "colonna-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

L’organizzazione IMS è impostata all’interno dell’ client_context .
Per scrivere dati in Python e R, utilizzare uno dei seguenti esempi:

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 data loader, i dati vengono preparati e quindi suddivisi nei train set di dati e val nei set di dati. Per saperne di più sulla preparazione dei dati e sulla progettazione di funzionalità, consulta la sezione sulla preparazione dei dati e la progettazione di funzionalità nell'esercitazione per la creazione di una ricetta con i notebook JupyterLab.