본문 바로가기

Biusiness Insight/Data Science

[구글 클라우드] Dataflow 템플릿 활용 스트리밍 파이프라인 만들기

반응형

source : GCP qwiklabs

 

Google Cloud Shell 활성화하기

 

1. GCP Console의 오른쪽 상단 툴바에서 Cloud Shell 열기 버튼을 클릭합니다.

 

2. 계속(Continue) 클릭

 

실행 화면 : 

 

사용 중인 계정 이름 목록 표시

gcloud auth list

 

출력:

Credentialed accounts: - <myaccount>@<mydomain>.com (active)

 

프로젝트 ID 목록 조회

gcloud config list project

 

출력:

[core] project = <project_ID>

 

- 참고 : gcloud 관련 전체 설명서 Google Cloud gcloud 개요

 

 

Cloud Shell을 사용하여 Cloud BigQuery 데이터세트 및 테이블 만들기

먼저 BigQuery 데이터세트 및 테이블 생성

- 참고: 이 섹션에서는 bq 명령줄 도구 사용

 

데이터 세트 'taxirides' 생성

bq mk taxirides

 

출력 : 

Dataset '<myprojectid:taxirides>' successfully created

 

 

BigQuery 테이블 인스턴스화

bq mk \ 
--time_partitioning_field timestamp \ 
--schema 
ride_id:string,point_idx:integer,latitude:float,longitude:float,\ 
timestamp:timestamp,meter_reading:float,meter_increment:float,ride_status:string,\ 
passenger_count:integer -t taxirides.realtime

 

출력 결과는 다음과 유사합니다.

Table 'myprojectid:taxirides.realtime' successfully created

 

 

- 참고 - BigQuery 명령줄 설명서를 참고

  • 예: 스키마 - "로컬 JSON 스키마 파일의 경로 또는 [FIELD]:[DATA_TYPE], [FIELD]:[DATA_TYPE] 형식의 쉼표로 구분된 컬럼 정의 목록

 

 

저장소 버킷 만들기

export BUCKET_NAME=<your-unique-name> 

gsutil mb gs://$BUCKET_NAME/

 

 

GCP Console을 사용하여 클라우드 BigQuery 데이터세트 및 테이블 만들기

※ 참고: 명령줄 설정을 완료한 경우에는 이 섹션 스킵

 

1. 왼쪽 메뉴의 빅데이터 섹션에서 BigQuery를 클릭

2. 왼쪽 탐색 창에서 프로젝트 이름을 클릭한 다음, 콘솔의 오른쪽에 있는 CREATE DATASET(데이터세트 만들기)를 클릭

3. 데이터세트 ID로 taxirides 입력

4. 다른 기본 설정은 모두 그대로 두고 데이터세트 만들기 클릭

5. 이제 콘솔 왼쪽의 프로젝트 ID 아래에서 taxiides 데이터세트를 확인하여 클릭

6. 콘솔 오른쪽에 있는 CREATE TABLE(테이블 만들기) 선택

7. 대상 테이블 입력 realtime을 입력

8. 스키마 아래에서 텍스트로 편집 슬라이더를 전환하고 다음을 입력

ride_id:string,point_idx:integer,latitude:float,longitude:float,timestamp:timestamp, meter_reading:float,
meter_increment:float,ride_status:string,passenger_count:integer

 

출력 화면 : 

9. 테이블 만들기 클릭

 

10. 저장소 버킷 만들기

GCP Console로 돌아가서 저장소 > 브라우저 > 버킷 만들기로 이동

11. 버킷에 고유한 이름 지정하고, 다른 모든 기본 설정은 그대로 두고 만들기 클릭

 

 

파이프라인 실행

- 탐색 메뉴에서 빅데이터 섹션을 찾아 Dataflow를 클릭

- 화면 상단의 + 템플릿에서 작업 만들기 클릭

- Cloud Dataflow 작업의 작업 이름 입력

- Cloud Dataflow 템플릿에서 Cloud Pub/Sub Topic to BigQuery( BigQuery에 대한 Cloud Pub/Sub 주제) 템플릿 선택

- Cloud Pub/Sub 입력 주제 아래에 다음을 입력

projects/pubsub-public-data/topics/taxirides-realtime

 

- BigQuery 출력 테이블에서 만들어진 테이블의 이름을 다음과 같이 입력

<myprojectid>:taxirides.realtime

 

- 임시 위치로 버킷 추가

gs://Your_Bucket_Name/temp

 

- 작업 실행(Run job) 버튼 클릭

- 리소스가 빌드되어 사용 가능 상태를 확인할 수 있음

- 탐색 메뉴에 있는 BigQuery를 클릭하여 BigQuery에 기록된 데이터 확인

- BigQuery UI가 열리면 프로젝트 이름 아래에 taxirides 테이블이 추가되고 그 아래에 realtime 테이블이 표시됨

 

쿼리 제출

- 표준 SQL을 사용하여 쿼리 제출 가능

- '쿼리 편집기' 필드에 다음 추가. (myprojectid는 Qwiklabs 페이지의 GCP 프로젝트 ID로 변경)

SELECT * FROM `myprojectid.taxirides.realtime` LIMIT 1000

 

- 쿼리 실행 클릭

- '쿼리 결과' 패널에 쿼리 실행 결과 출력

 

 

반응형