Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationEventAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
3
Help us understand the problem. What is going on with this article?

More than 1 year has passed since last update.

@ssl_ds_sps

Kaggle APIで楽にGCPにデータをダウンロード

GCP(Google Cloud Platform)でkaggleコンペにチャレンジしていますが、コンペのデータ量が大きいためkaggle APIを使ったデータダウンロードをやってみました。もっと賢いやり方があるかもしれないですが、自分は以下のように行いました。

1. API トークンの生成とダウンロード

Kaggleのアカウントページ(https://www.kaggle.com/ username /account)の
ページ下部のAPIでAPI tokenを生成します。
api.PNG

2. APIトークンをGCPのstorageにアップロード

直接手元のPCからGCPのCompute Engineにファイルをアップロードする方法を知らないので、一旦storageにアップロードします。

3. GCP Compute Engineでkaggle APIをインストール

GCPのCompute Engineのインスタンスを起動し、コンソールで、
pip install kaggle
kaggle APIをインストールします。
すると、ディレクトリ直下に .kaggle という名称のディレクトリが生成されます。
apitoken.PNG
先ほどAPIトークンを生成したkaggleのページでは、APIトークン生成後に上記のように、
「.kaggleというディレクトリにkaggle.jsonのAPIトークンを配置するように」という注意が出ますので、
これに従って、GCPのstorageにアップロードしたAPIトークンをこのディレクトリに移動させます。
APIトークンがStorage直下、移動させる先のディレクトリは.kaggleとすると下記コマンドで移動できます。
gsutil cp gs://バケット名/kaggle.json ./.kaggle

4.Kaggle APIでコンペデータをGCP Compute Engineのディレクトリにダウンロード

コンペのページの「Data」タブに、データダウンロードのAPIがあるので、それをコピーして
GCP Compute Engineのコンソールで実行します。
dd.PNG
例えば、今回はLANLの地震予測のコンペのデータで、それをCompute Engineの/inputというディレクトリにダウンロードしたいときのコマンドは下記です。
cd input
kaggle competitions download -c LANL-Earthquake-Prediction
すると、2GBにも及ぶコンペデータが30秒足らずでGCPに移行出来ました。
dl.PNG

3
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
3
Help us understand the problem. What is going on with this article?