Adobe Experience Platform Platform SDK를 사용하여 모델 작성
이 자습서에서는 data_access_sdk_python
을(를) Python과 R 모두에서 새 Python platform_sdk
(으)로 변환하는 방법에 대한 정보를 제공합니다. 이 자습서에서는 다음 작업에 대해 설명합니다.
빌드 인증 build-authentication
Adobe Experience Platform을(를) 호출하려면 인증이 필요하며 API 키, 조직 ID, 사용자 토큰 및 서비스 토큰으로 구성되어 있습니다.
Python
Jupyter Notebook을 사용하는 경우 아래 코드를 사용하여 client_context
을(를) 빌드하십시오.
client_context = PLATFORM_SDK_CLIENT_CONTEXT
Jupyter Notebook을 사용하지 않거나 조직을 변경해야 하는 경우 아래 코드 샘플을 사용하십시오.
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
Jupyter Notebook을 사용하는 경우 아래 코드를 사용하여 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
Jupyter Notebook을 사용하지 않거나 조직을 변경해야 하는 경우 아래 코드 샘플을 사용하십시오.
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})
기본 데이터 읽기 basic-reading-of-data
새 Platform SDK의 경우 최대 읽기 크기는 32GB이며 최대 읽기 시간은 10분입니다.
읽기 시간이 너무 오래 걸리는 경우 다음 필터링 옵션 중 하나를 사용할 수 있습니다.
client_context
내에 설정되어 있습니다.Python
Python에서 데이터를 읽으려면 아래 코드 샘플을 사용하십시오.
from platform_sdk.dataset_reader import DatasetReader
dataset_reader = DatasetReader(client_context, "{DATASET_ID}")
df = dataset_reader.limit(100).read()
df.head()
R
R에서 데이터를 읽으려면 아래 코드 샘플을 사용하십시오.
DatasetReader <- psdk$dataset_reader$DatasetReader
dataset_reader <- DatasetReader(client_context, "{DATASET_ID}")
df <- dataset_reader$read()
df
오프셋 및 제한으로 필터링 filter-by-offset-and-limit
일괄 처리 ID로 필터링하는 기능은 더 이상 지원되지 않으므로 데이터를 읽는 범위를 지정하려면 offset
및 limit
을(를) 사용해야 합니다.
Python
df = dataset_reader.limit(100).offset(1).read()
df.head
R
df <- dataset_reader$limit(100L)$offset(1L)$read()
df
날짜별로 필터링 filter-by-date
이제 날짜 필터링의 세부기간은 일별로 설정되지 않고 타임스탬프로 정의됩니다.
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
새 Platform SDK는 다음 작업을 지원합니다.
=
)eq()
>
)gt()
>=
)ge()
<
)lt()
<=
)le()
&
)And()
선택한 열로 필터링 filter-by-selected-columns
데이터 읽기를 세분화하기 위해 열 이름별로 필터링할 수도 있습니다.
Python
df = dataset_reader.select(['column-a','column-b']).read()
R
df <- dataset_reader$select(c('column-a','column-b'))$read()
정렬된 결과 가져오기 get-sorted-results
수신된 결과는 대상 데이터 세트의 지정된 열 및 해당 순서(asc/desc)별로 정렬할 수 있습니다.
다음 예제에서는 데이터 프레임이 먼저 오름차순으로 "column-a"별로 정렬됩니다. "column-a"에 대해 동일한 값을 갖는 행은 "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()
기본 데이터 쓰기 basic-writing-of-data
client_context
내에 설정되어 있습니다.Python 및 R로 데이터를 쓰려면 아래의 예제 중 하나를 사용하십시오.
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')
다음 단계
platform_sdk
데이터 로더를 구성하면 데이터가 준비 과정을 거친 다음 train
및 val
데이터 세트로 분할됩니다. 데이터 준비 및 기능 엔지니어링에 대한 자세한 내용은 JupyterLab 전자 필기장을 사용하여 레시피를 만드는 자습서의 데이터 준비 및 기능 엔지니어링에 대한 섹션을 참조하십시오.