Modellen ontwerpen met de Adobe Experience Platform Platform SDK
Deze zelfstudie biedt u informatie over het omzetten van data_access_sdk_python
in de nieuwe Python platform_sdk
in zowel Python als R. Deze zelfstudie biedt informatie over de volgende bewerkingen:
Verificatie opbouwen build-authentication
Verificatie is vereist om aanroepen uit te voeren naar Adobe Experience Platform en bestaat uit API-sleutel, organisatie-id, een gebruikerstoken en een servicetoken.
Python
Als u Jupyter-laptop gebruikt, gebruikt u de onderstaande code om de client_context
samen te stellen:
client_context = PLATFORM_SDK_CLIENT_CONTEXT
Als u geen Jupyter-laptop gebruikt of als u de organisatie moet wijzigen, gebruikt u het onderstaande codevoorbeeld:
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
Als u Jupyter-laptop gebruikt, gebruikt u de onderstaande code om de client_context
samen te stellen:
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
Als u geen Jupyter-laptop gebruikt of als u een andere organisatie wilt gebruiken, gebruikt u het onderstaande codevoorbeeld:
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})
Basislezen van gegevens basic-reading-of-data
Met de nieuwe Platform SDK is de maximale leesgrootte 32 GB, met een maximale leestijd van 10 minuten.
Als de leestijd te lang duurt, kunt u een van de volgende filteropties gebruiken:
client_context
.Python
Gebruik het onderstaande codevoorbeeld om gegevens in Python te lezen:
from platform_sdk.dataset_reader import DatasetReader
dataset_reader = DatasetReader(client_context, "{DATASET_ID}")
df = dataset_reader.limit(100).read()
df.head()
R
Gebruik het onderstaande codevoorbeeld om gegevens in R te lezen:
DatasetReader <- psdk$dataset_reader$DatasetReader
dataset_reader <- DatasetReader(client_context, "{DATASET_ID}")
df <- dataset_reader$read()
df
Filteren op verschuiving en beperken filter-by-offset-and-limit
Omdat filteren op batch-id niet meer wordt ondersteund, moet u offset
en limit
gebruiken om het lezen van gegevens in bereik te houden.
Python
df = dataset_reader.limit(100).offset(1).read()
df.head
R
df <- dataset_reader$limit(100L)$offset(1L)$read()
df
Filteren op datum filter-by-date
De korreligheid van datum het filtreren wordt nu bepaald door timestamp, eerder dan wordt geplaatst tegen de dag.
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
De nieuwe Platform SDK ondersteunt de volgende bewerkingen:
=
)eq()
>
)gt()
>=
)ge()
<
)lt()
<=
)le()
&
)And()
Filteren op geselecteerde kolommen filter-by-selected-columns
Als u het lezen van gegevens verder wilt verfijnen, kunt u ook filteren op kolomnaam.
Python
df = dataset_reader.select(['column-a','column-b']).read()
R
df <- dataset_reader$select(c('column-a','column-b'))$read()
Gesorteerde resultaten ophalen get-sorted-results
De ontvangen resultaten kunnen door gespecificeerde kolommen van de doeldataset en in hun orde (asc/desc) respectievelijk worden gesorteerd.
In het volgende voorbeeld wordt dataframe eerst in oplopende volgorde gesorteerd op "column-a". Rijen met dezelfde waarden voor "column-a" worden vervolgens in aflopende volgorde gesorteerd op "column-b".
Python
df = dataset_reader.sort([('column-a', 'asc'), ('column-b', 'desc')])
R
df <- dataset_reader$sort(c(('column-a', 'asc'), ('column-b', 'desc')))$read()
Basisschrijven van gegevens basic-writing-of-data
client_context
.Gebruik een van de volgende voorbeelden om gegevens in Python en R te schrijven:
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')
Volgende stappen
Nadat u de platform_sdk
gegevenslader hebt geconfigureerd, worden de gegevens voorbereid en vervolgens gesplitst naar de gegevenssets train
en val
. Om over gegevensvoorbereiding en eigenschaptechniek te leren gelieve de sectie over te bezoeken gegevens voorbereiding en eigenschapengineeringin het leerprogramma voor het creƫren van een recept gebruikend JupyterLab laptops.