데이터분석캠프 TIL

250120 TIL 데이터분석과정 - 빅쿼리에 데이터 적재하기

selenaass 2025. 1. 20. 23:02

1. 회고

 

 

오늘로서 드디어 머신러닝 심화 강의를 다 들었다. 그런데 외계어로 대화하는 듯한 기분이 든다^^ 무슨 말이죠 이게 대체?여태까지 들은 강의 중 가장 재미없는 파트인 것 같다. 마케터가 직접적으로 다루지 않는 범위까지 나와서 그런 것 같은데, 너무 딥하게 들어가는 느낌이다. 

 

가장 기억에 남은 내용은 비지도학습에서 군집화였다. RFM분석에 활용할 수 있는 내용이고, 내가 알고 있던 고객세그멘테이션을 조금 더 통계학적인 관점에서 설명을 들어볼 수 있었다. 

아직 코드 구현이 어려운 점들이 있어서, 강의를 돌려보면서 내가 받아들일 수 있는 부분들은 최대한 머리에 넣어보아야 겠다. 

 

일단은 이해가 되었든 안되었든 머신러닝 수업을 다들어서 마음이 한결 가벼워졌다. 이제 이론 수업들은 대부분 들은 것 같고,  수강도 어느덧 42%를 채워서 제법 뿌듯하다. 

오늘은 처음으로 조장으로써 팀 스크럼을 이끌어가고 있는데, 어색하면서도 그래도 팀 분위기가 쳐지지 않도록 이끌어야겠다는 책임감이 같이 든다. 프로젝트 주간 잘 해낼 수 있겠지...

 

 

2. Big Query에 데이터 적재하기 

 

Google Colab과 Big query는 유동적으로 연결되어 있는데, 공식과 같은 코드만 복사해서 붙여주면 쉽게 데이터를 Big Query에 적재할 수 있다. 

오늘 실습 때 사용했던 pandas의 기본 데이터셋인 tips 대신 Kaggle의 Titanic 데이터셋을 넣는 작업을 해주었다. 

csv파일이라 자꾸 오류가 나서 *

import pandas as pd 

from google.colab import files
from google.oauth2 import service_account

uploaded = files.upload() #train.csv 파일 colab에 업로드
 
#key파일 등록(공인인증서와 같은 역할)
key_path = list(uploaded.keys())[0]
credentials = service_account.Credentials.from_service_account_file(key_path)
credentials


#Big Query와 연결 
from google.cloud import bigquery
client = bigquery.Client(credentials=credentials, project=credentials.project_id)

# Google Cloud 프로젝트 및 BigQuery 테이블 경로
project_id = 'sparta5-448410'
dataset_id = "mydataset"
table_id = "train"
table_path = f"{project_id}.{dataset_id}.{table_id}"


# BigQuery 클라이언트 생성
client = bigquery.Client(credentials=credentials, project=project_id)

# 데이터프레임 업로드
job = client.load_table_from_dataframe(train, table_path, job_config=job_config)

# 작업 완료 대기
job.result()

# 업로드 결과 확인
table = client.get_table(table_path)
print(f"테이블 {table_path}{table.num_rows}개의 행이 업로드되었습니다!")

 

기본적인 파이썬 문법을 작성하는 것에서 벗어나, 실제로 필요한 코드들을 구현해볼 수 있어서 흥미로웠고 현업이나 개인 프로젝트를 진행하는 것에 있어서도 유용하게 쓰일 것 같은 내용이다.