[Google/BigQuery] 구글 빅쿼리 튜토리얼1

류성훈·2022년 8월 1일
0

빅쿼리

목록 보기
2/5
post-thumbnail

설정

  • Cloud Shell 활성화
  • gcloud auth list - 활성 계정 이름을 나열
  • gcloud config list project - 프로젝트 ID를 나열

1. 테이블 검사

  • shakespeare (예시 테이블)의 스키마 검사 bq show bigquery-public-data:samples.shakespeare
  • bq - BigQuery 명령줄 도구를 호출
  • show - action
  • project:public dataset.table - 보고 싶은 BigQuery 의 이름을 나열

2. 도움말 명령 실행

  • bq help query

3. 쿼리 실행

  • 문자열에서 “raisin”이 몇번 들어갈 지 볼 것입니다
  • 쿼리를 실행하려면 bq query "[SQL_STATEMENT]” 와 같은 명령어 필요
bq query --use_legacy_sql=false \
'SELECT
   word,
   SUM(word_count) AS count
 FROM
   `bigquery-public-data`.samples.shakespeare
 WHERE
   word LIKE "%raisin%"
 GROUP BY
   word'

  • match결과가 없으면 반환하지 않습니다.
bq query --use_legacy_sql=false \
'SELECT
   word
 FROM
   `bigquery-public-data`.samples.shakespeare
 WHERE
   word = "huzzah"'

4. 새 테이블 만들기

  • 새 데이터세트 만들기

    • bq ls - 기존 데이터세트 나열
    • 콜론(:)이 뒤에 오는 특정 프로젝트의 데이터세트를 나열하는 프로젝트 ID를 bq ls 로 실행합니다. bq ls bigquery-public-data:
    • bq mk babynames 로 새 데이터세트를 만듭니다.
  • 데이터세트 업로드

    • babyname 데이터파일 url을 이용하여 프로젝트에 추가합니다

      curl -LO http://www.ssa.gov/OACT/babynames/names.zip

    • ls

    • 압축 풀기 unzip names.zip

    • 데이터 로드 bq load

      로드정보를 추가하여 로드 bq load babynames.names2010 yob2010.txt name:string,gender:string,count:integer

  • 완료된 작업 테스트

    • bq ls babynames - 데이터세트 확인

    • bq show babynames.names2010 - 스키마 조회

      name, gender, count

5. 쿼리 실행

  • 가장 인기있는 여자 이름 상위 5개 반환
    • bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'F' ORDER BY count DESC LIMIT 5”
  • 가장 특이한 남자 이름 상위 5개 반환
    • bq query "SELECT name,count FROM babynames.names2010 WHERE gender = 'M' ORDER BY count ASC LIMIT 5”

6. 정리

  • bq rm 을 실행햐여 데이터세트의 모든 테이블을 삭제합니다. bq rm -r babynames

참고

BigQuery: Qwik Start - Command Line | Google Cloud Skills Boost

profile
(전)Backend Developer / (현)Data Engineer

0개의 댓글