데이터 세트 샘플

Adobe Experience Platform 쿼리 서비스는 대략적인 쿼리 처리 기능의 일부로 샘플 데이터 세트를 제공합니다. 샘플 데이터 세트는 원본의 레코드 비율만 사용하여 기존 Azure Data Lake Storage (ADLS) 데이터 세트의 균일한 무작위 샘플로 만들어집니다. 이 백분율을 샘플링 속도라고 합니다. 샘플링 속도를 조정하여 정확도와 처리 시간의 균형을 제어하면 쿼리 정확도 비용으로 처리 시간을 크게 단축하면서 빅 데이터에 대한 탐색적 쿼리를 수행할 수 있습니다.

많은 사용자가 데이터 세트에 대한 집계 작업에 대해 정확한 답변이 필요하지 않으므로 대량의 데이터 세트에 대한 탐색적 쿼리에 대해서는 대략적인 답변을 반환하기 위해 대략적인 쿼리를 발행하는 것이 더 효율적입니다. 샘플 데이터 세트에는 원래 데이터 세트의 데이터 비율만 포함되어 있으므로 쿼리 정확도를 트레이드하여 응답 시간을 향상시킬 수 있습니다. 읽기 시 쿼리 서비스는 전체 데이터 세트를 쿼리하는 경우보다 결과를 빠르게 생성하는 행 수를 적게 스캔해야 합니다.

대략적인 쿼리 처리를 위한 샘플을 관리할 수 있도록 쿼리 서비스는 데이터 세트 샘플에 대해 다음 작업을 지원합니다.

시작하기 get-started

이 문서에 자세히 설명된 대략적인 쿼리 처리 기능을 만들고 삭제하려면 세션 플래그를 true(으)로 설정해야 합니다. 쿼리 편집기 또는 PSQL 클라이언트의 명령줄에서 SET aqp=true; 명령을 입력합니다.

NOTE
Platform에 로그인할 때마다 세션 플래그를 활성화해야 합니다.

SET aqp=true; 명령이 강조 표시된 쿼리 편집기입니다.

균일한 무작위 데이터 세트 샘플 만들기 create-a-sample

데이터 집합 이름과 함께 ANALYZE TABLE <table_name> TABLESAMPLE SAMPLERATE x 명령을 사용하여 해당 데이터 집합에서 균일한 무작위 샘플을 만드십시오.

샘플 비율은 원본 데이터 세트에서 가져온 레코드의 백분율입니다. TABLESAMPLE SAMPLERATE 키워드를 사용하여 샘플 속도를 제어할 수 있습니다. 이 예에서, 5.0의 값은 50%의 표본 속도와 같다. 2.5 값은 25% 등과 같습니다.

IMPORTANT
시스템은 각 데이터 세트에 대해 최대 5개의 샘플을 허용합니다. 여섯 번째 샘플 데이터 세트를 만들려고 하면 샘플 제한에 도달했다는 오류 메시지가 화면에 표시됩니다.
ANALYZE TABLE example_dataset_name TABLESAMPLE SAMPLERATE 5.0;

선택적으로 필터 조건 지정 optional-filter-criteria

균일 무작위 샘플에 대한 필터 기준을 지정하도록 선택할 수 있습니다. 이렇게 하면 분석된 테이블의 필터링된 하위 집합을 기반으로 샘플을 만들 수 있습니다.

샘플을 만들 때 선택 사항인 필터가 먼저 적용된 다음 데이터 세트의 필터링된 보기에서 샘플이 만들어집니다. 필터가 적용된 데이터 세트 샘플은 다음 쿼리 형식을 따릅니다.

ANALYZE TABLE <tableToAnalyze> TABLESAMPLE FILTERCONTEXT (<filter_condition>) SAMPLERATE X.Y;
ANALYZE TABLE <tableToAnalyze> TABLESAMPLE FILTERCONTEXT (<filter_condition_1> AND/OR <filter_condition_2>) SAMPLERATE X.Y;
ANALYZE TABLE <tableToAnalyze> TABLESAMPLE FILTERCONTEXT (<filter_condition_1> AND (<filter_condition_2> OR <filter_condition_3>)) SAMPLERATE X.Y;

이러한 유형의 필터링된 샘플 데이터 세트의 실제 예는 다음과 같습니다.

ANALYZE TABLE large_table TABLESAMPLE FILTERCONTEXT (month(to_timestamp(timestamp)) in ('8', '9')) SAMPLERATE 10;
ANALYZE TABLE large_table TABLESAMPLE FILTERCONTEXT (month(to_timestamp(timestamp)) in ('8', '9') AND product.name = "product1") SAMPLERATE 10;
ANALYZE TABLE large_table TABLESAMPLE FILTERCONTEXT (month(to_timestamp(timestamp)) in ('8', '9') AND (product.name = "product1" OR product.name = "product2")) SAMPLERATE 10;

제공된 예제에서 테이블 이름은 large_table이고, 원래 테이블의 필터 조건은 month(to_timestamp(timestamp)) in ('8', '9')이며, 샘플링 속도는 (필터링된 데이터의 X%)입니다. 이 경우 10입니다.

샘플 목록 보기 view-list-of-samples

ADLS 테이블과 연결된 샘플 목록을 보려면 sample_meta() 함수를 사용하십시오.

SELECT sample_meta('example_dataset_name')

데이터 세트 샘플 목록은 아래 예제의 형식으로 표시됩니다.

                  sample_table_name                  |    sample_dataset_id     |    parent_dataset_id     | sample_type | sampling_rate | sample_num_rows |       created
-----------------------------------------------------+--------------------------+--------------------------+-------------+---------------+-----------------+---------------------
 x5e5cd8ea0a83c418a8ef0928_uniform_4_0_percent_ughk7 | 62ff19853d338f1c07b18965 | 5e5cd8ea0a83c418a8ef0928 | uniform     |           4.0 |             391 | 19/08/2022 05:03:01
(1 row)

샘플 데이터 세트 쿼리 query-sample-datasets

{EXAMPLE_DATASET_NAME}을(를) 사용하여 샘플 테이블을 직접 쿼리합니다. 또는 쿼리 끝에 WITHAPPROXIMATE 키워드를 추가하면 쿼리 서비스에서 가장 최근에 만든 샘플을 자동으로 사용합니다.

SELECT * FROM example_dataset_name WITHAPPROXIMATE;

데이터 세트 샘플 삭제 delete-a-sample

삭제 작업을 사용하면 최대 5개의 데이터 세트 샘플 제한에 도달한 후 새 샘플을 만들 수 있습니다.

DROP TABLESAMPLE x5e5cd8ea0a83c418a8ef0928_uniform_2_0_percent_bnhmc;
NOTE
원본 ADLS 데이터 세트에서 파생된 샘플 데이터 세트가 여러 개 있는 경우 원본을 삭제하면 연결된 모든 샘플도 삭제됩니다.
recommendation-more-help
ccf2b369-4031-483f-af63-a93b5ae5e3fb