Python을 사용하여 데이터 액세스

다음 문서에서는 Data Science Workspace에서 사용할 Python을 사용하여 데이터에 액세스하는 방법에 대한 예를 설명합니다. JupiterLab 전자 필기장을 사용하여 데이터에 액세스하는 방법에 대한 자세한 내용은 JupiterLab 노트북 데이터 액세스 설명서를 참조하십시오.

데이터 세트 읽기

환경 변수를 설정하고 설치를 완료한 후 데이터 세트를 판다 데이터 프레임으로 읽을 수 있습니다.

import pandas as pd
from .utils import get_client_context
from platform_sdk.dataset_reader import DatasetReader

def load(config_properties):

client_context = get_client_context(config_properties)

dataset_reader = DatasetReader(client_context, config_properties['DATASET_ID'])

df = dataset_reader.read()

데이터 세트에서 열 선택

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

분할 정보 다운로드:

client_context = get_client_context(config_properties)

dataset = Dataset(client_context).get_by_id({DATASET_ID})
partitions = dataset.get_partitions_info()

DISTINCT 절

DISTINCT 절을 사용하면 모든 고유한 값을 행/열 수준에서 가져와 응답에서 모든 중복 값을 제거할 수 있습니다.

함수 사용 예는 아래에 distinct() 나와 있습니다.

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

WHERE 절

Python에서 특정 연산자를 사용하여 데이터 세트를 필터링할 수 있습니다.

노트

필터링에 사용되는 함수는 대/소문자를 구분합니다.

eq() = '='
gt() = '>'
ge() = '>='
lt() = '<'
le() = '<='
And = and operator
Or = or operator

다음은 이러한 필터링 기능을 사용하는 예입니다.

df = dataset_reader.where(experience_ds['timestamp'].gt(87879779797).And(experience_ds['timestamp'].lt(87879779797)).Or(experience_ds['a'].eq(123)))

ORDER BY 절

ORDER BY 절을 사용하면 수신한 결과를 특정 순서(오름차순 또는 내림차순)의 지정된 열로 정렬할 수 있습니다. 이 작업은 sort() 함수를 사용하여 수행됩니다.

함수 사용 예는 아래에 sort() 나와 있습니다.

df = dataset_reader.sort([('column_1', 'asc'), ('column_2', 'desc')])

LIMIT 절

LIMIT 절을 사용하면 데이터 세트에서 수신한 레코드 수를 제한할 수 있습니다.

함수 사용 예는 아래에 limit() 나와 있습니다.

df = dataset_reader.limit(100).read()

OFFSET 절

OFFSET 절을 사용하면 처음 부분부터 행을 건너뛰어 이후 지점으로부터 행 반환을 시작할 수 있습니다. LIMIT와 함께 사용하면 블록의 행을 반복하는 데 사용할 수 있습니다.

함수 사용 예는 아래에 offset() 나와 있습니다.

df = dataset_reader.offset(100).read()

데이터 세트 작성

데이터 세트에 쓰려면 판다에게 데이터 프레임을 제공해야 합니다.

판다의 데이터 프레임 작성

client_context = get_client_context(config_properties)

# To fetch existing dataset
dataset = Dataset(client_context).get_by_id({DATASET_ID})

dataset_writer = DatasetWriter(client_context, dataset)

write_tracker = dataset_writer.write(<your_dataFrame>, file_format='json')

사용자 공간 디렉토리(체크 포인트)

더 긴 실행 작업의 경우 중간 단계를 저장해야 할 수 있습니다. 이와 같은 경우에는 사용자 공간을 읽고 쓸 수 있습니다.

노트

데이터 경로는 저장되지 않습니다. 해당 데이터에 해당하는 경로를 저장해야 합니다.

사용자 공간에 쓰기

client_context = get_client_context(config_properties)
                               
user_helper = UserSpaceHelper(client_context)
user_helper.write(data_frame=<data_frame>, path=<path_to_directory>, ref_dataset_id=<ref_dataset_id>)

사용자 공간에서 읽기

client_context = get_client_context(config_properties)
                               
user_helper = UserSpaceHelper(client_context)
my_df = user_helper.read(path=<path_to_directory>, ref_dataset_id=<ref_dataset_id>)

다음 단계

Adobe Experience Platform 데이터 과학 작업 공간은 위의 코드 샘플을 사용하여 데이터를 읽고 쓰는 레서피 샘플을 제공합니다. 데이터에 액세스하기 위해 Python을 사용하는 방법에 대한 자세한 내용은 데이터 과학 작업 공간 Python GitHub 리포지토리를 참조하십시오.

이 페이지에서는