2. BigQuery와 AI Platform Notebook을 이용한 데이터셋 살펴보기
글 작성자: 만렙개발자
BigQuery
- BigQuery는 서버리스 데이터 창고(Serverless data warehouse)입니다.
- 특징
- petabyte 스케일 데이터베이스 분석 가능
- SQL 2011 query에 친화적
- BigQuery로부터 데이터 수집, 변환, 불러오기, 내보내기가 다양한 방법으로 가능
- nested and repeated fields 허용, 사용자 정의 함수들 (예를들어, JSON 지원)
- 데이터 스토리지가 비싸지 않음 (무료는 아니다.....는거 ㅎ)
- 데이터가 처리되는 만큼의 양의 쿼리가 비용 청구됨(혹은 월간)
- BigQuery Web UI 를 통해 query를 실행할 수 있습니다.
- BigQuery에는 학습에 활용할 수 있는 다양한 open dataset들도 있습니다. 대표적인 예 중 하나인, 출생에 대한 데이터셋을 살펴보겠습니다.
- Table ID: bigquery-public-data:samples.natality
- Table size: 21.9 GB
- Number of Rows: 137,826,763
- 1969~2008년에 미국의 출생 기록 데이터입니다.
- https://bigquery.cloud.google.com/table/bigquery-public-data:samples.natality
- Date of birth(year, month, day, wday), Location of birth(state), Baby's birth weight(weight_pounds), Mother's age at birth(mother_age), Duration of pregnancy(gestation_weeks), Mother's weight gain(weight_gain_pounds)와 같은 column들이 있습니다.
AI Platform Notebooks
- GCP에서 제공되던 notebook의 다음 세대로, Cloud Datalab을 대체했습니다.
- Jupyter notebook 환경으로 관리하며, python 코드를 실행할 수 있습니다. 이를 통해 쉽게 BigQuery에 접근할 수 있습니다.
- notebook에서의 개발 프로세스는 다음과 같은 5단계로 구성됩니다.
- 파이썬으로 코드 작성
- 셀(cell)을 실행
- 출력 결과를 검사
- markdown으로 주석 작성하기
- 공유하고 협업하기
실습: 구글 클라우드 Storage bucket을 생성하여 쿼리를 날려보기
- bucket 생성
- 메뉴에서 storage를 클릭해줍니다.
- create bucket 버튼을 눌러줍니다.
- bucket의 이름을 지어주고, 원하는 대로 옵션을 설정한 후 create 버튼을 눌러 생성해줍니다.
- AI Platform Notebook 실행
- 메뉴 > AI Platform > Notebooks 를 클릭해줍니다. (제게는 메뉴 거의 최하단에 나타나더라구요)
- New Instance를 클릭하고, 원하는 환경을 선택합니다. (저는 Tensorflow 1.14에 GPU가 없는 것으로 선택하였습니다.)
- 이름을 설정하고 create를 클릭합니다. (저는 이름을 따로 수정하지 않았습니다.)
- 인스턴스 이름 옆에 동그라미가 돌아가는 것으로 진행상황을 확인할 수 있습니다. (저는 4-5분 소요됐습니다.)
- 완료가 되면, 그 동그라미가 'OPEN JUPYTERLAB' 버튼으로 변환됩니다. 클릭해주세요.
- (저에게는 무지 친근한) 주피터랩이 실행됩니다! Terminal을 열어서 git clone을 해줍시다. (조금 반응이 느릴 수 있습니다.)
git clone https://github.com/GoogleCloudPlatform/training-data-analyst
완료가 되면, 좌측 디렉토리에 'training-data-analyst'가 추가된 것을 확인하실 수 있으실 겁니다.- training-data-analyst > courses > machine_learning > deepdive > 06_structured > labs and open 1_explore.ipynb 를 더블클릭하여 얼어봅시다.
- Edit > Clear All Outputs 을 클릭하여, 현재 어중간하게 남아있는 output들을 정리해줍니다.
- BUCKET, PROJECT, REGION을 여러분에게 주어진 것에 맞게 값을 입력해줍니다.
- 그리고 셀을 하나씩 실행하면서 결과를 확인해봅시다.
- 아래에 Lab Task #1, #2가 있는데 한 번 해봅시다! (Hint 부분을 드래그 하면 답이 나옵니다~)
'✏️ 수동로깅 > cloud_log' 카테고리의 다른 글
Anaconda 설치 Unpacking payload ... 에서 막힘(멈춤) (2) | 2020.03.07 |
---|---|
4. 모델 빌드하기 (0) | 2019.10.18 |
3. 데이터셋 만들기 (2) | 2019.10.14 |
1. 구글 클라우드 플랫폼(GCP; Google Cloud Platform)에서 머신러닝(TensorFlow) 활용하기 (0) | 2019.10.10 |
[만렙개발자] 쿠버네티스(kubernetes; k8s) 핵초급 튜토리얼 - 0. 컨테이너, 그리고 도커란? (0) | 2019.08.16 |
댓글
이 글 공유하기
다른 글
-
4. 모델 빌드하기
4. 모델 빌드하기
2019.10.18 -
3. 데이터셋 만들기
3. 데이터셋 만들기
2019.10.14 -
1. 구글 클라우드 플랫폼(GCP; Google Cloud Platform)에서 머신러닝(TensorFlow) 활용하기
1. 구글 클라우드 플랫폼(GCP; Google Cloud Platform)에서 머신러닝(TensorFlow) 활용하기
2019.10.10 -
[만렙개발자] 쿠버네티스(kubernetes; k8s) 핵초급 튜토리얼 - 0. 컨테이너, 그리고 도커란?
[만렙개발자] 쿠버네티스(kubernetes; k8s) 핵초급 튜토리얼 - 0. 컨테이너, 그리고 도커란?
2019.08.16