글 작성자: 만렙개발자

BigQuery

  • BigQuery는 서버리스 데이터 창고(Serverless data warehouse)입니다.
  • 특징
    1. petabyte 스케일 데이터베이스 분석 가능
    2. SQL 2011 query에 친화적
    3. BigQuery로부터 데이터 수집, 변환, 불러오기, 내보내기가 다양한 방법으로 가능
    4. nested and repeated fields 허용, 사용자 정의 함수들 (예를들어, JSON 지원)
    5. 데이터 스토리지가 비싸지 않음 (무료는 아니다.....는거 ㅎ)
      • 데이터가 처리되는 만큼의 양의 쿼리가 비용 청구됨(혹은 월간)
  • 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단계로 구성됩니다.
    1. 파이썬으로 코드 작성
    2. 셀(cell)을 실행
    3. 출력 결과를 검사
    4. markdown으로 주석 작성하기
    5. 공유하고 협업하기

실습: 구글 클라우드 Storage bucket을 생성하여 쿼리를 날려보기

  1. bucket 생성
    1. 메뉴에서 storage를 클릭해줍니다.
    2. create bucket 버튼을 눌러줍니다.
    3. bucket의 이름을 지어주고, 원하는 대로 옵션을 설정한 후 create 버튼을 눌러 생성해줍니다.
  2. AI Platform Notebook 실행
    1. 메뉴 > AI Platform > Notebooks 를 클릭해줍니다. (제게는 메뉴 거의 최하단에 나타나더라구요)
    2. New Instance를 클릭하고, 원하는 환경을 선택합니다. (저는 Tensorflow 1.14에 GPU가 없는 것으로 선택하였습니다.)
    3. 이름을 설정하고 create를 클릭합니다. (저는 이름을 따로 수정하지 않았습니다.)
    4. 인스턴스 이름 옆에 동그라미가 돌아가는 것으로 진행상황을 확인할 수 있습니다. (저는 4-5분 소요됐습니다.)
    5. 완료가 되면, 그 동그라미가 'OPEN JUPYTERLAB' 버튼으로 변환됩니다. 클릭해주세요.
    6. (저에게는 무지 친근한) 주피터랩이 실행됩니다! 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 를 더블클릭하여 얼어봅시다.
    7. Edit > Clear All Outputs 을 클릭하여, 현재 어중간하게 남아있는 output들을 정리해줍니다.
    8. BUCKET, PROJECT, REGION을 여러분에게 주어진 것에 맞게 값을 입력해줍니다.
    9. 그리고 셀을 하나씩 실행하면서 결과를 확인해봅시다.
    10. 아래에 Lab Task #1, #2가 있는데 한 번 해봅시다! (Hint 부분을 드래그 하면 답이 나옵니다~)