구글 빅쿼리 완벽 가이드(2)

ssyyyoon·2023년 8월 19일

빅쿼리 파헤치기

목록 보기
2/6

빅쿼리에서 데이터 로드하기(121p)

로컬에서 데이터 로드하기

  • cloudshell 사용
    cloudshell에서 git clone하여 github 저장소에 접근하여 load
    연결한 git을 bigquery 테이블로 로드

  • 웹UI로 데이서 로드하기
    프로젝트를 생성하여 업로드
    웹UI를 사용하면 파일 크기는 최대 10MB, 행 수는 16,000으로 제한된다. -> google cloud stroage를 생성해주어야 한다.

google cloud storage에 접속하여 bucket을 생성하고 local file을 업로드하면 된다.
업로드 후 다시 돌아가 Explorer 옆 +ADD를 클릭한 후 Google CLoud Storage를 클릭해 업로드 한 file을 불러오면 된다.

데이터 로드 후, 데이터 타입을 확인하여 타입 캐스트를 해줘야 한다.

e.g.

SELECT
	INSTNM
    , ADM_RATE_ALL
    , FIRST_GEN
    , MD_FAMINC
    , MD_EARN_WNE_P10
    , SAT_AVG
FROM
	ch04.college_scorecard
WHERE
	SAFE_CAST(SAT_AVG AS FLOAT64) > 1300
    AND SAFE_CAST(ADM_RATE_ALL AS FLOAT64) > 0.2
    AND SAFE_CAST(FIRST_GEN AS FLOAT64) > 0.1
ORDER BY
	CAST(MD_FAMINC AS FLOAT64) ASC

타입캐스팅을 하지 않으면 아래와 같은 에러 발생

No matching signature for operator > for argument types: STRING, INT64

스키마 지정하기

데이터를 로드하기 전 반드시 데이터 정리와 변형 작업을 진행해주어야 한다.
스키마 자동 탐지 알고리즘은 몇 개의 행만 보고 샘플링하기 때문에 정확도를 신뢰할 수 없다.
운영 환경에서는 컬럼별 데이터 형식을 지정해주는 것이 낫다.

업로드한 파일 컬럼들의 스키마 정보를 로드에서 확인한 후, 텍스트 편집기에서 적절한 형식으로 수정해준다.
수정한 후에는 터미널에서 스키마 파일을 함께 지정해주면 된다.

새 테이블에 복사하기

데이터를 로드한 후, 불필요한 컬럼을 제외하고 새롭게 CREATE TABLE하면 목적이 확실한 테이블을 생성할 수 있다.

CREATE OR REPLACE TABLE ch04.college_scorecard_etl AS
SELECT
	INSTNM
    , ADM_RATE_ALL
    , FIRST_GEN
    , MD_FAMINC
    , MD_EARN_WNE_P10
    , SAT_AVG
FROM
	ch04.college_scorecard

데이터 조회 이전에, 빅쿼리 동작 방식 및 정의들에 대해 알고 있어야 활용이 가능할 것 같다. 아직 자유롭게 사용하기에는 이해도가 낮다.

profile
데이터 분석가로 일하고 있습니다.

1개의 댓글

comment-user-thumbnail
2023년 8월 19일

많은 도움이 되었습니다, 감사합니다.

답글 달기