Cloud Data Fusion - ETL 파이프라인 구축

김민형·2022년 8월 12일
1

GCP - Data

목록 보기
26/43

Wrangler


Wrangler를 사용해서 파이프라인을 배포해볼 것이다.

Wrangler
자동 또는 반자동화 도구로 데이터를 쉽게 사용할 수 있도록 데이터를 사용하기 좋은 형태로 변경하는 사람을 데이터 Wrangler라고 한다.
Data Fusion에선 이런 랭글링 작업을 간편하게 할 수 있다.

샘플 고객 데이터를 가져와 정리, 변환, 처리하여 타겟팅 캠페인의 후보를 선택할 수 있는 데이터 파이프라인을 만들어볼 것이다.

샘플 고객데이터 클릭

데이터 전처리

  • 테이블 형식으로 파싱
  • 스키마 설정
  • 필요한 타겟층만 표시하도록 필터링

파싱



body가 여러 열로 분할디었고 이름, 주소, 도시, 등등 속성별로 나뉘어졌다. 이제 기존의 body열은 필요없으니 삭제해주자

스키마 설정

열 갯수만큼 ,로 나누어서 지정할 스키마 이름을 넣어준다.

데이터 필터링
캘리포니아, 오리건 또는 워싱턴에 거주하는 고객만 표시하도록 데이터를 필터링
이렇게 하려면 이들 3개 주 이외의 값이 포함된 행을 모두 삭제해야 한다.

value matches regex를 조건으로 필터링 해주고 아래의 조건식을 넣어준다.
(regex는 regular expression 즉, 정규식을 뜻한다.)
정규식에 ^(California|Oregon|Washington)$를 입력.

State가 California/Oregon/Washington만 표시가 된다.


만약 했던 작업을 취소하려면 여기서 실행했던 작업을 그냥 x 눌러주면 된다.

그리고 애비뉴에 거주하는 사람만 표시하도록 필터링할 것이다.

위의 화면에서 ignore case를 체크하면 대소문자를 무시하겠다는 뜻이다.

파이프라인 생성


아래와 같은 파이프라인 화면이 나온다.

Wrangler의 속성을 들어가면 우리가 Transform 해줬던 것을 확인할 수 있다.
또한 Wrangle을 누르면 다시 이 전에 Wrangler 페이지로 돌아가서 작업을 추가할 수 있다.

State 이름 축약
배송 차량의 내비게이션 시스템은 약어로 된 주 이름(California가 아니라 CA)이 포함된 주소만 인식하는데, 현재 고객 데이터에는 주 전체 이름이 포함되어있다.

공개 빅쿼리 state_abbreviations 테이블에는 주 전체 이름이 있는 열 1개와 축약된 주 이름이 있는 열 1개가 있다.
이 테이블을 사용하여 고객 데이터의 주 이름을 업데이트 해볼 것이다.




output schema에 스키마를 가져온 것을 확인할 수 있다.

데이터 소스 2개 join
고객 데이터와 주 이름 축약 데이터 소스를 조인하여 고객 데이터와 축약된 주 이름이 포함된 output을 생성

화살표로 아래와 같이 연결해준다.

Fields를 아래와 같이 바꿔준다.

주 전체 이름이 아닌 축약된 주 이름으로 하고 싶으므로 체크를 해제하고 축약된 주 이름이 있는 빅쿼리의 데이터 소스에서 abbreviation만 체크한 뒤 Alias를 State로 바꿔준다


Outer join으로 해주고 Wrangler 선택, 조인 조건에서 Wrangler의 State 열을 BigQuery의 name 열과 조인하도록 조건을 설정한다.
그리고 그 결과에 대한 스키마를 가져온다

파이프라인 결과는 BigQuery 테이블에 저장할 것이다.
데이터를 저장하는 위치를 싱크라고 한다.

빅쿼리 속성으로 들어가서 아래와 같이 설정해준다.

파이프라인 배포 및 실행

선을 아래와 같이 모두 연결해주고 파이프라인 배포 및 실행


빅쿼리에서 파이프라인이 작동하여 출력값이 테이블로 적재된 것을 확인할 수 있다.

profile
Solutions Architect (rlaalsgud97@gmail.com)

0개의 댓글