BigQueryで公開されているPyPIの情報一覧

Posted by rhoboro on 2019-04-08

PyPIのランキングを取れないかなと調べていたところ、Analyzing PyPI package downloadsというページの存在に気づきました。 ところが、このページにはテーブルのカラム情報などが載っていない。。。
そこでどんな情報がわかるのか調べてみました。

ちなみにカラム一覧を取得するのにBQのINFORMATION_SCHEMAを使ってみました。ドキュメントはこちら
SELECT * ... LIMIT 1;だとフルスキャンになっちゃうところが、10MBで済むのでリーズナブルです。 ただし、現時点では「(beta)」なので注意してください。

テーブル一覧

テーブル一覧の取得は次のクエリで取得しました。

SELECT * FROM `the-psf.pypi.INFORMATION_SCHEMA.TABLES` ORDER BY table_name DESC;

結果は次の通りでした。 simple_requestsdownloads%Y%m%dくらいしかなかったです。

tables

カラム一覧

カラム一覧の取得は現時点で最新のテーブルdownloads20190408に対して行いました。

SELECT * FROM `the-psf.pypi.INFORMATION_SCHEMA.COLUMNS` WHERE table_name="downloads20190408";

結果は次の通りでした。 ちなみにテーブルsimple_requestsも同じ結果でした。

downloads_columns

ネストされているfileは普通に1行取得しました。

downloads_file

同様にdetailsも。

downloads_details_01 downloads_details_02

2018年のデータ量

仮に1年分のデータをフルスキャンした場合は、4.2TBほど処理されるようです。 フルスキャンしてしまうとAlways Freeにはおさまらないですね汗

2018_all

tags: gcp, bigquery, python