4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

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

Last updated at Posted at 2019-02-28

####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

4
5
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
5

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?