본문 바로가기
CSP (Cloud Service Provider)/GCP

[Qwiklab] Creating a Data Transformation Pipeline with Cloud Dataprep

by BTC_유온 2022. 4. 22.

Data Engineering 과정 (in Qwiklab)

Creating a Data Transformation Pipeline with Cloud Dataprep

 

 
Creating a Data Transformation Pipeline with Cloud Dataprep | Google Cloud Skills Boost

Cloud Dataprep by Trifacta is an intelligent data service for visually exploring, cleaning, and preparing structured and unstructured data for analysis. In this lab you will explore the Cloud Dataprep UI to build a data transformation pipeline.

www.cloudskillsboost.google

 


 

Data Engineering

Creating a Data Transformation Pipeline with Cloud Dataprep

 

첫번째 개요

 

(1) 관련 서비스 소개

 

 Cloud Dataprep

데이터 분석에 앞서 정형 또는 비정형 데이터를 exploring, cleaning, preparing하는 과정을 돕는 서비스

데이터 전처리 서비스

 

 BigQuery

몇 초만에 대규모 데이터를 쿼리할 수 있는 관계형 클라우드 데이터베이스

[GCP in Action] CH 19. BigQuery-①
 
 
[GCP in Action] CH 19. BigQuery-②

GCP 콘솔 상에서 Cloud Dataprep 서비스의 UI를 확인

데이터 변환을 위한 파이프라인 생성

변환된 데이터를 BigQuery에 저장

실습과정

 

 

구체적인 실습 목표

Connect BigQuery datasets to Cloud Dataprep.

Explore dataset quality with Cloud Dataprep.

Create a data transformation pipeline with Cloud Dataprep.

Run transformation jobs outputs to BigQuery.

 

 

 

(3) 분석 데이터

 

사용할 데이터는 'ecommerce dataset'

BigQuery에 업로드된 Google Merchandise Store 데이터

ecommerce dataset의 스키마

 

 

 

 

 

두번째 데이터 준비

(1) Creating a BigQuery Dataset

실습 과정에선 BigQuery는 단지 분석에 사용할 데이터셋을 가져오거나 변환 결과 데이터를 저장하는 endpoint 역할을 함

퀵랩에서 자동으로 생성한 프로젝트에 ecommerce라는 데이터셋을 생성

그런 다음 구글에서 제공하는 데이터를 아래의 쿼리문을 통해 ecommerce 데이터셋에 추가

CREATE OR REPLACE TABLE ecommerce.all_sessions_raw_dataprep
OPTIONS(
description="Raw data from analyst team to ingest into Cloud Dataprep"
) AS
SELECT * FROM `data-to-insights.ecommerce.all_sessions_raw`
WHERE date = '20170801'; # limiting to one day of data 56k rows for this lab

 

(2) Connecting BigQuery data to Cloud Dataprep

데이터 전처리를 위한 Flow를 생성

Flow의 첫 시작은 사용할 데이터를 가져오는 것

Cloud Dataprep과 BigQuery를 연결하여 Cloud Dataprep로 ecommerce 데이터셋을 가져옴

 
Cloud Dataprep Dataset

 

세번째 데이터 전처리(Data wrangling)

데이터 전처리

데이터 분석 전에 데이터를 깔끔하게, 분석하기 쉽게 정리정돈하는 과정

Cloud Dataprep에선 파이프라인의 Recipe 단계에 해당

Recipe 작업에서 데이터 변경사항은 모두 히스토리처럼 기록이 남게 됨

 
Cloud Dataprep Recipe

 

아래는 이번 실습의 전처리 과정에서 진행할 작업으로, 최종 Recipe에 남아 있어야 할 작업 목록

 
전처리 과정에서 진행할 작업

 

(1) Exploring ecommerce data fields with a UI

분석하고자 하는 데이터로부터 어떤 정보를 얻을 수 있는지를 확인하는 과정

데이터 분석 시 문제가 되는 부분은 없는지, 각각의 데이터 값에 이상은 없는지, 데이터 값의 분포는 어떠한지 등을 확인함

 

아래는 실습에서 데이터를 탐색하는 과정에서 사용한 질문을 일부 발췌한 것으로, 일반적으로 데이터 분석 시 아래의 예시처럼 데이터를 확인하는 작업을 거쳐야 함

How many columns are there in the dataset?
How many rows does the sample contain?
What is the most common value in the channelGrouping column?
What are the top three countries from which sessions are originated?
What does the grey bar under totalTransactionRevenue represent?
What is the maximum timeOnSite in seconds, maximum pageviews, and maximum sessionQualityDim for the data sample?
Looking at the histogram for sessionQualityDim, are the data values evenly distributed?

 

(2) Cleaning the data

데이터 분석에 있어 수정이 필요한 부분이 있다면 데이터 클리닝 과정을 거치게 됨

불필요한 null 값은 삭제한다거나, 특정 값을 가진 행만 남긴다거나, 사용하지 않을 열은 삭제하는 등의 작업을 수행하게 됨

 

(3) Enriching the data

두 열을 쪼개거나 합침으로써 분석에 보다 적합한 형태의 새로운 열을 생성하는 과정

 

(4) Running Cloud Dataprep jobs to BigQuery

데이터 전처리 작업을 동작시킨 후 해당 결과를 BigQuery에 저장

 

 

 

 

 

 

 

댓글