Kaggle 데이터를 Google Cloud Storage로 이동시키기
데이터 분석 공부를 위해 많은 데이터 셋들을 kaggle 에서 다운받던 중, 제 노트북에 용량 압박이 점점 느껴졌습니다.
주로 GCP를 사용하는 제 환경 상 Google Cloud Storage (이하 GCS)에 kaggle 데이터를 바로 저장하는것이 효과적이었습니다. 이번 글에서는 Kaggle 데이터를 GCS로 이동시키는 방법을 알아보겠습니다.
1. 새 Kaggle 노트북 생성
캐글 홈페이지에서 왼쪽 상단의 Create - New Notebook 을 클릭하여 새 캐글 노트북을 생성합니다.
2. 데이터 셋 추가
생성된 노트북의 우측 바 - Add Data를 클릭하여 자신이 필요한 캐글 데이터 셋을 추가합니다.
저는 이전 분석에 사용한 동물의 숲 데이터를 가져오겠습니다.
3. 데이터를 GCS로 이동시키기
3-1. 라이브러리 호출
import os
from google.cloud import storage
셀을 생성하여 위 패키지를 입력합니다.
3-2. 구글 클라우드 서비스 연결
위 과정을 통해서 Kaggle이 제 GCS 계정에 접근할 수 있는 권한을 부여하였습니다.
파란 박스에는 개인 이름, 구글 id가 있습니다. 빨간 박스를 따라 주세요.
3-3. 버킷 생성 및 업로드 함수 생성
storage_client = storage.Client(project="GCP_PROJECT_ID")
def create_bucket(bucket_name):
bucket = storage_client.create_bucket(bucket_name)
def upload_files(bucket_name, source_folder):
bucket = storage_client.get_bucket(bucket_name)
for filename in os.listdir(source_folder):
blob = bucket.blob(filename)
blob.upload_from_filename(source_folder + filename)
위 코드로 제 GCS의 프로젝트에 접근 한 뒤,
create_bucket , upload_files 함수를 사용하여 버킷 생성, 파일 업로드를 합니다.
첫번쨰 줄의 (project = ) 를 자신의 프로젝트 아이디로 변경한 뒤 실행합니다.
※ gcp 프로젝트 id 확인 법
3-4. 함수 적용
create_bucket('생성하고싶은 버킷 이름')
※주의※
버킷 이름은 유일해야 하므로 '이름 + 프로젝트명'으로 쉽게 유일한 버킷명을 생성 할수 있습니다.
upload_bucket('버킷 이름', '데이터 폴더 경로')
※주의※
경로 뒤 '/' 를 추가하여야 os.listdir로 폴더의 하위 csv 파일들을 읽을 수 있습니다.
※ 데이터 폴더 경로 확인 법
4. 결과 확인
GCS에 접속하면 버킷 생성, csv 파일 데이터 이동까지 잘 된 모습을 확인 할 수 있습니다 :)
참고 자료
https://towardsdatascience.com/importing-kaggle-training-data-into-google-cloud-storage-70830a439048
Importing Kaggle Training Data into Google Cloud Storage
We show you how in easy to follow steps.
towardsdatascience.com
위 자료를 응용하여 작성한 글입니다.