체크포인트
Run Cloud Dataprep jobs to BigQuery
/ 100
Cloud Dataprep을 사용하여 데이터 변환 파이프라인 만들기
이 실습은 Google Cloud의 파트너인 Alteryx와 공동 개발한 것으로, 계정 프로필에서 제품 업데이트, 공지사항, 혜택을 수신하는 데 동의하신 경우 귀하의 개인 정보가 실습 스폰서인 Alteryx에 공유될 수 있습니다.
GSP430
개요
Dataprep by Trifacta는 정형 및 비정형 데이터를 시각적으로 탐색하고 정리하여 분석을 준비하는 지능형 데이터 서비스입니다. 이 실습에서는 Dataprep 사용자 인터페이스(UI)를 살펴보고 결과를 BigQuery로 출력하는 데이터 변환 파이프라인을 빌드합니다.
이 실습에서 사용할 데이터 세트는 BigQuery에 로드된 Google Merchandise Store를 위한 Google 애널리틱스 세션 레코드 수백만 개가 포함된 전자상거래 데이터 세트입니다. 실습에서는 사용 가능한 필드와 행을 살펴보고 분석을 위해 데이터를 준비합니다.
실습할 내용
이 실습에서는 다음 작업을 수행하는 방법을 알아봅니다.
- Dataprep에 BigQuery 데이터 세트 연결
- Dataprep을 사용하여 데이터 세트 품질 평가
- Dataprep을 사용하여 데이터 변환 파이프라인 만들기
- 변환 작업 실행 및 BigQuery로 출력 보내기
설정 및 요건
이 실습을 시작하기 전에 Google Cloud에서 Cloud Dataprep 활용하기 실습을 수강하는 것이 좋습니다.
실습 시작 버튼을 클릭하기 전에
다음 안내를 확인하세요. 실습에는 시간 제한이 있으며 일시중지할 수 없습니다. 실습 시작을 클릭하면 타이머가 시작됩니다. 이 타이머에는 Google Cloud 리소스를 사용할 수 있는 시간이 얼마나 남았는지 표시됩니다.
실무형 실습을 통해 시뮬레이션이나 데모 환경이 아닌 실제 클라우드 환경에서 직접 실습 활동을 진행할 수 있습니다. 실습 시간 동안 Google Cloud에 로그인하고 액세스하는 데 사용할 수 있는 새로운 임시 사용자 인증 정보가 제공됩니다.
이 실습을 완료하려면 다음을 준비해야 합니다.
- 표준 인터넷 브라우저 액세스 권한(Chrome 브라우저 권장)
- 실습을 완료하기에 충분한 시간---실습을 시작하고 나면 일시중지할 수 없습니다.
실습을 시작하고 Google Cloud 콘솔에 로그인하는 방법
-
실습 시작 버튼을 클릭합니다. 실습 비용을 결제해야 하는 경우 결제 수단을 선택할 수 있는 팝업이 열립니다. 왼쪽에는 다음과 같은 항목이 포함된 실습 세부정보 패널이 있습니다.
- Google Cloud 콘솔 열기 버튼
- 남은 시간
- 이 실습에 사용해야 하는 임시 사용자 인증 정보
- 필요한 경우 실습 진행을 위한 기타 정보
-
Google Cloud 콘솔 열기를 클릭합니다(Chrome 브라우저를 실행 중인 경우 마우스 오른쪽 버튼으로 클릭하고 시크릿 창에서 링크 열기를 선택합니다).
실습에서 리소스가 가동되면 다른 탭이 열리고 로그인 페이지가 표시됩니다.
팁: 두 개의 탭을 각각 별도의 창으로 나란히 정렬하세요.
참고: 계정 선택 대화상자가 표시되면 다른 계정 사용을 클릭합니다. -
필요한 경우 아래의 사용자 이름을 복사하여 로그인 대화상자에 붙여넣습니다.
{{{user_0.username | "Username"}}} 실습 세부정보 패널에서도 사용자 이름을 확인할 수 있습니다.
-
다음을 클릭합니다.
-
아래의 비밀번호를 복사하여 시작하기 대화상자에 붙여넣습니다.
{{{user_0.password | "Password"}}} 실습 세부정보 패널에서도 비밀번호를 확인할 수 있습니다.
-
다음을 클릭합니다.
중요: 실습에서 제공하는 사용자 인증 정보를 사용해야 합니다. Google Cloud 계정 사용자 인증 정보를 사용하지 마세요. 참고: 이 실습에 자신의 Google Cloud 계정을 사용하면 추가 요금이 발생할 수 있습니다. -
이후에 표시되는 페이지를 클릭하여 넘깁니다.
- 이용약관에 동의합니다.
- 임시 계정이므로 복구 옵션이나 2단계 인증을 추가하지 않습니다.
- 무료 체험판을 신청하지 않습니다.
잠시 후 Google Cloud 콘솔이 이 탭에서 열립니다.
작업 1. Google Cloud 콘솔에서 Dataprep 열기
- Cloud Shell을 열고 다음 명령어를 실행합니다.
서비스 ID가 생성되었다는 메시지가 표시됩니다.
-
Cloud 콘솔에서 탐색 메뉴로 이동하고 애널리틱스 아래에서 Dataprep을 선택합니다.
-
Dataprep으로 이동할 수 있도록 Google Dataprep 서비스 약관에 동의하는지 확인한 다음 동의를 클릭합니다.
-
체크박스를 클릭한 다음 Alteryx와 계정 정보를 공유하라는 메시지가 나타나면 동의 및 계속을 클릭합니다.
-
허용을 클릭하여 Alteryx에 프로젝트 액세스 권한을 부여합니다.
-
로그인에 사용할 Qwiklabs 사용자 인증 정보를 선택하고 허용을 클릭합니다.
-
체크박스를 선택하고 동의를 클릭하여 Alteryx 서비스 약관에 동의합니다.
-
스토리지 버킷의 기본 위치를 사용하라는 메시지가 나타나면 계속을 클릭합니다.
작업 2. BigQuery 데이터 세트 만들기
이 실습에서는 Cloud Dataprep을 중점적으로 다루고 있지만, 파이프라인 데이터 세트 수집의 엔드포인트이자 완성된 파이프라인의 출력 대상으로 BigQuery가 필요합니다.
-
Cloud 콘솔에서 탐색 메뉴 > BigQuery를 선택합니다.
-
Cloud 콘솔의 BigQuery에 오신 것을 환영합니다라는 메시지 상자가 열립니다. 이 메시지 상자에서는 빠른 시작 가이드 링크 및 UI 업데이트 목록을 확인할 수 있습니다.
-
완료를 클릭합니다.
-
탐색기 창에서 프로젝트 이름을 선택합니다.
- 왼쪽 창의 탐색기 섹션에서 프로젝트 ID 오른쪽의 작업 보기 아이콘()을 클릭한 다음 데이터 세트 만들기를 클릭합니다.
-
데이터 세트 ID에
ecommerce
를 입력합니다. - 다른 값은 기본값을 유지합니다.
-
데이터 세트 만들기를 클릭합니다. 이제 왼쪽 창의 프로젝트 아래에 데이터 세트가 표시됩니다.
-
다음 SQL 쿼리를 복사하여 쿼리 편집기에 붙여넣습니다.
-
실행을 클릭합니다. 이 쿼리는 Cloud Dataprep에서 탐색하고 정리할 수 있도록 공개 원시 전자상거래 데이터 세트의 하위 집합(하루 분량의 세션 데이터, 즉 약 56,000개의 레코드)을 전자상거래 데이터 세트에 추가된
all_sessions_raw_dataprep
이라는 새 테이블로 복사합니다. -
ecommerce
데이터 세트에 새 테이블이 있는지 확인합니다.
작업 3. Cloud Dataprep에 BigQuery 데이터 연결
이 작업에서는 BigQuery 데이터 소스에 Cloud Dataprep을 연결합니다. Cloud Dataprep 페이지에서 다음을 수행합니다.
-
오른쪽 하단에서 흐름 만들기를 클릭합니다.
-
제목 없는 흐름의 이름을 바꾸고 다음 세부정보를 지정합니다.
-
흐름 이름에
Ecommerce Analytics Pipeline
을 입력합니다. -
흐름 설명에
Revenue reporting table
을 입력합니다.
-
확인을 클릭합니다.
-
What's a flow?
라는 메시지가 나타나면 팝업에서 도우미 표시 안함을 선택합니다. -
데이터 세트 상자에서 추가 아이콘을 클릭합니다.
-
흐름에 데이터 세트 추가 대화상자에서 데이터 세트 가져오기를 선택합니다.
-
왼쪽 창에서 BigQuery를 클릭합니다.
-
ecommerce 데이터 세트가 로드되면 클릭합니다.
-
all_sessions_raw_dataprep
테이블 왼쪽의 데이터 세트 만들기 아이콘(+ 기호)을 클릭합니다. -
오른쪽 하단에서 가져오기 및 흐름에 추가를 클릭합니다.
데이터 소스가 자동으로 업데이트됩니다. 다음 작업으로 넘어갈 준비가 되었습니다.
작업 4. UI를 사용하여 전자상거래 데이터 필드 탐색
이 작업에서는 Cloud Dataprep 내에서 데이터 세트 샘플을 로드하고 탐색합니다.
- 레시피 아이콘을 클릭하고 레시피 편집을 선택합니다.
Cloud Dataprep은 데이터 세트 샘플을 Transformer 보기로 로드합니다. 이 프로세스는 몇 초 정도 걸릴 수 있습니다. 완료되면 데이터 탐색을 시작할 준비가 된 것입니다.
다음 질문에 답해 보세요.
- 데이터 세트에 열이 몇 개 있나요?
정답: 32개
- 샘플에 행이 몇 개 포함되어 있나요?
정답: 약 12,000개
-
channelGrouping
열에서 가장 일반적인 값은 무엇인가요?
channelGrouping
열 제목 아래의 히스토그램에 마우스를 가져가면 확인할 수 있습니다.
정답: 추천 값. 추천 사이트는 일반적으로 콘텐츠에 대한 링크가 있는 다른 웹사이트입니다. 다른 웹사이트에서 당사 전자상거래 웹사이트의 제품을 검토한 후 링크한 경우를 예로 들 수 있습니다. 이는 방문자가 검색엔진을 통해 유입된 경우와는 다른 획득 채널로 간주됩니다.
- 세션이 가장 많이 시작되는 상위 3개국은 어디인가요?
정답: 미국, 인도, 영국
- totalTransactionRevenue 아래의 회색 막대는 무엇을 나타내나요?
정답: totalTransactionRevenue
필드의 결측치. 이는 이 샘플의 많은 세션이 수익을 창출하지 못했음을 의미합니다. 나중에 이러한 값을 필터링하여 최종 테이블에는 고객 거래와 관련 수익만 표시되도록 해보겠습니다.
- 데이터 샘플의
timeOnSite
(초),pageviews
,sessionQualityDim
의 최대치는 얼마인가요? (힌트: 열 세부정보 메뉴에서 을 클릭하여timeOnSite
열 오른쪽의 메뉴를 엽니다.)
세부정보 창을 닫으려면 오른쪽 상단의 열 세부정보 닫기(X) 버튼을 클릭합니다. 그런 다음 이 프로세스를 반복하여 pageviews
및 sessionQualityDim
열에 대한 세부정보를 봅니다.
정답:
- 사이트에 머문 최대 시간: 5,561초(또는 92분)
- 최대 페이지 조회수: 155페이지
- 최대 세션 품질 측정기준: 97
timeOnSite
와 같은 필드가 세션당 한 번만 계산되는지 확인해야 합니다. 방문자와 세션 데이터의 고유성은 이후 실습에서 살펴보겠습니다.
-
sessionQualityDim
의 히스토그램을 보면 데이터 값이 고르게 분포되어 있나요?
정답: 아니요, 예상보다 낮은 값(낮은 품질 세션)으로 치우쳐 있습니다.
- 데이터 세트 샘플의 기간은 언제인가요? 힌트: 날짜 필드를 확인합니다.
정답: 2017년 8월 1일(하루 분량의 데이터)
-
productSKU
열 아래에 빨간색 막대가 표시될 수 있습니다. 이것은 무엇을 의미할까요?
정답: 빨간색 막대는 일치하지 않는 값을 나타냅니다. 데이터를 샘플링하는 동안 Cloud Dataprep은 각 열의 유형을 자동으로 식별하려고 시도합니다. productSKU
열 아래에 빨간색 막대가 표시되지 않으면 Cloud Dataprep이 열의 유형(즉, 문자열 유형)을 올바르게 식별한 것입니다. 빨간색 막대가 표시되면 Cloud Dataprep이 샘플링에서 유형이 정수여야 한다고 잘못 판단할 만한 숫자 값을 발견한 것입니다. 또한 Cloud Dataprep이 정수가 아닌 일부 값을 감지하여 일치하지 않는 것으로 플래그를 지정했습니다. 실제로 productSKU
가 항상 정수인 것은 아닙니다(예: 올바른 값이 'GGOEGOCD078399'일 수 있음). 따라서 이 경우 Cloud Dataprep이 열 유형을 잘못 식별했으며 정수가 아니라 문자열이어야 합니다. 이 실습의 뒷부분에서 이 문제를 수정하겠습니다.
-
v2ProductName
열에서 가장 인기 있는 제품은 무엇인가요?
정답: Nest 제품
-
v2ProductCategory
열에서 가장 인기 있는 제품 카테고리는 무엇인가요?
정답:
가장 인기 있는 제품 카테고리는 다음과 같습니다.
-
Nest
-
가방
-
(설정되지 않음)(일부 세션이 카테고리와 연결되지 않았음)
-
다음 문장이 참인지 거짓인지 선택하세요. 가장 일반적인
productVariant
는COLOR
입니다.
정답: 거짓. 대부분의 제품(80% 이상)에 옵션이 없기 때문에 (설정되지 않음)입니다.
- type 열의 두 값은 무엇인가요?
정답: PAGE
와 EVENT
사용자가 웹사이트를 둘러볼 때 다양한 상호작용 유형이 발생할 수 있습니다. 유형에는 PAGE 조회 또는 특별 EVENT(예: '제품 클릭') 세션 데이터를 기록하는 유형과 기타 유형이 있습니다. 여러 조회 유형이 동시에 트리거될 수 있으므로 이중 계산을 피하기 위해 유형별로 필터링하는 경우가 많습니다. 이에 대해서는 이후 분석 실습에서 더 자세히 살펴보겠습니다.
- 최대
productQuantity
는 얼마인가요?
정답: 100(답변은 다양할 수 있음)
productQuantity
는 장바구니에 추가된 해당 제품의 개수를 나타냅니다. 100은 단일 제품 100개가 추가되었음을 의미합니다.
- 거래의 주요
currencyCode
는 무엇인가요?
정답: USD(미국 달러)
-
itemQuantity
또는itemRevenue
에 유효한 값이 있나요?
정답: 아니요, 모두 NULL
값(또는 결측치)입니다.
-
transactionId
값에서 유효한 비율은 몇 %인가요?ecommerce
데이터 세트에서 이 비율이 나타내는 바는 무엇인가요?
- 정답: 약 4.6%의 거래 ID가 웹사이트의 평균 전환율을 나타내는 유효한 값을 가지고 있습니다(방문자의 4.6%가 거래).
-
eCommerceAction_type
값은 몇 개이며 가장 일반적인 값은 무엇인가요?
정답: 샘플에는 7가지 값이 있습니다. 가장 일반적인 값은 유형을 알 수 없음을 나타내는 0
입니다. 이는 당사 웹사이트의 웹 세션이 대부분 둘러보기만 하고 전자상거래 작업을 수행하지 않기 때문에 유효한 값입니다.
-
스키마를 사용할 때
eCommerceAction_type = 6
은 무엇을 의미하나요?
eCommerceAction
유형을 검색하고 매핑에 대한 설명을 읽습니다.
정답: 6은 'Completed purchase'에 매핑됩니다. 이 실습 뒷부분에서 이 매핑을 데이터 파이프라인의 일부로 수집하겠습니다.
작업 5. 데이터 정리
이 작업에서는 사용하지 않는 열을 삭제하고, 중복을 제거하고, 계산된 필드를 만들고, 원하지 않는 행을 필터링하여 데이터를 정리합니다.
productSKU 열 데이터 유형 변환
- productSKU 열 유형이 문자열 데이터 유형인지 확인하려면 을 클릭하여 productSKU 열 오른쪽의 메뉴를 연 다음 유형 변경 > 문자열을 클릭합니다.
- 레시피 아이콘을 클릭하여 데이터 변환 파이프라인의 첫 번째 단계가 생성되었는지 확인합니다.
사용하지 않는 열 삭제
앞서 언급했듯이 itemQuantity 및 itemRevenue 열은 NULL 값만 포함하며 이 실습에서 별다르게 사용되지 않으므로 삭제하겠습니다.
- itemQuantity 열의 메뉴를 연 다음 삭제를 클릭합니다.
- 이 프로세스를 반복하여 itemRevenue 열을 삭제합니다.
행 중복 삭제
팀에서 소스 데이터 세트에 중복 세션 값이 포함되었을 수 있다고 알렸습니다. 새로운 중복 삭제 단계를 통해 이 값을 삭제해 보겠습니다.
- 툴바에서 행 필터링 아이콘을 클릭하고 중복 행 삭제를 클릭합니다.
-
오른쪽 패널에서 추가를 클릭합니다.
-
지금까지 만든 레시피를 검토하면 다음과 유사합니다.
수익이 없는 세션 필터링
웹사이트에서 하나 이상의 항목을 구매한 모든 사용자 세션의 테이블을 생성하도록 팀에서 요청했습니다. 수익이 NULL인 사용자 세션을 필터링합니다.
- totalTransactionRevenue 열에서 회색의 결측치 막대를 클릭합니다. totalTransactionRevenue의 모든 결측치 행이 이제 빨간색으로 강조 표시됩니다.
- 추천 패널의 행 삭제에서 추가를 클릭합니다.
이 단계에서는 수익이 있는 거래만 포함하도록 데이터 세트를 필터링합니다(여기서 totalTransactionRevenue는 NULL이 아님).
PAGE 조회수에 대한 세션 필터링
데이터 세트에는 PAGE(페이지 조회) 또는 EVENT('제품 카테고리 조회' 또는 '장바구니에 추가'와 같은 트리거된 이벤트)와 같은 다양한 유형의 세션이 포함되어 있습니다. 세션 페이지 조회가 이중으로 계산되지 않도록 하려면 페이지 조회 관련 이벤트만 포함하는 필터를 추가하세요.
-
유형 열 아래의 히스토그램에서 PAGE의 막대를 클릭합니다. 이제 유형이 PAGE인 모든 행이 녹색으로 강조 표시됩니다.
-
추천 패널의 행 유지에서 추가를 클릭합니다.
작업 6. 데이터 보강
스키마 문서에서 visitId를 검색하고 설명을 읽은 후 visitId가 모든 사용자 세션에 고유한지 아니면 해당 사용자에게만 고유한지 확인합니다.
-
visitId
: 이 세션의 식별자입니다. 일반적으로utmb
쿠키로 저장된 값의 일부이며, 사용자마다 고유한 값을 가집니다. 완전히 고유 ID인 경우 fullVisitorId와 visitId의 조합을 사용해야 합니다.
확인한 것처럼 visitId
는 모든 사용자에서 고유하지는 않습니다. 고유 식별자를 만들어야 합니다.
고유 세션 ID에 대한 새 열 만들기
확인한 것처럼 데이터 세트에는 고유 방문자 세션에 대한 단일 열이 없습니다. fullVisitorId 및 visitId 필드를 연결하여 각 세션에 대한 고유 ID를 만듭니다.
- 툴바에서 열 병합 아이콘을 클릭합니다.
-
열에 대해
fullVisitorId
와visitId
를 선택합니다. -
구분자로 단일 하이픈 문자(
-
)를 입력합니다. -
새 열 이름에
unique_session_id
를 입력합니다.
- 추가를 클릭합니다.
이제 unique_session_id
는 fullVisitorId
와 visitId
의 조합입니다. 이 데이터 세트에 있는 각 행의 세션 수준이 고유한지(사용자 세션당 행 1개) 아니면 더 상세한 수준이 있는지는 이후 실습에서 살펴보겠습니다.
전자상거래 작업 유형에 대한 case 문 만들기
앞서 살펴본 것처럼 eCommerceAction_type
열의 값은 해당 세션에서 수행된 실제 전자상거래 작업에 매핑되는 정수입니다. 3은 'Add to Cart' 또는 5는 'Check out'을 예로 들 수 있습니다. 이 매핑은 그 의미가 최종 사용자에게 명확하지 않으므로 값 이름을 가져오는 계산된 필드를 만들어 보겠습니다.
- 툴바에서 조건을 클릭한 다음 단일 열의 케이스를 클릭합니다.
-
평가할 열에
eCommerceAction_type
을 지정합니다. -
케이스(1) 옆의 추가를 8번 클릭하여 총 9개의 케이스를 생성합니다.
- 각 케이스에 대해 다음 매핑 값(작은따옴표 포함)을 지정합니다.
비교 |
새 값 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
-
새 열 이름에
eCommerceAction_label
을 입력합니다. 다른 필드는 기본값 그대로 둡니다. -
추가를 클릭합니다.
totalTransactionRevenue 열의 값 조정
스키마에 언급된 대로 totalTransactionRevenue 열에는 애널리틱스로 전달된 값에 10^6을 곱한 값이 포함됩니다(예: 2.40은 2400000으로 표시됨). 이제 해당 열의 내용을 10^6으로 나누어 원래 값을 얻습니다.
- 을 클릭하여 totalTransactionRevenue 열 오른쪽의 메뉴를 연 다음 계산 > 맞춤 수식을 선택합니다.
-
수식에
DIVIDE(totalTransactionRevenue,1000000)
를 입력하고, 새 열 이름에totalTransactionRevenue1
을 입력합니다. 변환 미리보기를 확인합니다.
- 추가를 클릭합니다.
totalTransactionRevenue1
열 아래에 빨간색 막대가 표시될 수 있습니다. 을 클릭하여 totalTransactionRevenue1
열 오른쪽의 메뉴를 연 다음 유형 변경 > 십진수를 클릭합니다.- 레시피의 전체 단계 목록을 검토합니다.
- 이제 실행을 클릭합니다.
작업 7. BigQuery로 Cloud Dataprep 작업 실행
-
작업 실행 페이지에서 실행 환경에 대해 Dataflow + BigQuery를 선택합니다.
-
게시 작업에서 Create-CSV 오른쪽의 수정을 클릭합니다.
-
다음 페이지의 왼쪽 메뉴에서 BigQuery를 선택합니다.
-
ecommerce 데이터 세트를 선택합니다.
-
오른쪽 패널에서 새 테이블 만들기를 클릭합니다.
-
테이블 이름을 revenue_reporting으로 지정합니다.
-
실행마다 테이블 삭제를 선택합니다.
-
업데이트를 클릭합니다.
-
실행을 클릭합니다.
Cloud Dataprep 작업이 완료되면, BigQuery 페이지를 새로고침하고 출력 테이블 revenue_reporting이 존재하는지 확인합니다.
내 진행 상황 확인하기를 클릭하여 목표를 확인합니다.
수고하셨습니다
지금까지 전자상거래 데이터 세트를 성공적으로 탐색하고 Cloud Dataprep을 사용하여 데이터 변환 파이프라인을 만들었습니다.
다음 단계/더 학습하기
- Google Cloud Marketplace에서 Alteryx를 확인하세요.
- 이미 Google 애널리틱스 계정이 있고 BigQuery에서 자체 데이터 세트를 쿼리하고 싶으신가요? 이 내보내기 가이드를 따르세요.
- 다음 실습을 확인하세요.
Google Cloud 교육 및 자격증
Google Cloud 기술을 최대한 활용하는 데 도움이 됩니다. Google 강의에는 빠른 습득과 지속적인 학습을 지원하는 기술적인 지식과 권장사항이 포함되어 있습니다. 기초에서 고급까지 수준별 학습을 제공하며 바쁜 일정에 알맞은 주문형, 실시간, 가상 옵션이 포함되어 있습니다. 인증은 Google Cloud 기술에 대한 역량과 전문성을 검증하고 입증하는 데 도움이 됩니다.
설명서 최종 업데이트: 2024년 2월 11일
실습 최종 테스트: 2023년 9월 20일
Copyright 2024 Google LLC All rights reserved. Google 및 Google 로고는 Google LLC의 상표입니다. 기타 모든 회사명 및 제품명은 해당 업체의 상표일 수 있습니다.