3
1

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 3 years have passed since last update.

Google BigQueryを使ったデータ抽出・集計

Last updated at Posted at 2019-05-15

Google Cloud PlatformのツールのひとつであるBigQuery。これを活用することで、大容量のデータから必要な情報を簡単に抽出・集計できます。この記事では実際にBigQueryにデータをアップロードし、SQLコマンドで集計してみました。

①データをダウンロード

今回は、Kaggleのオープンデータから、iOSアプリの価格や評価などをまとめたデータセットをダウンロードしました。

キャプチャ6.PNG

Mobile App Store ( 7200 apps)
https://www.kaggle.com/ramamet4/app-store-apple-data-set-10k-apps/downloads/app-store-apple-data-set-10k-apps.zip/7

②BigQueryにデータを格納

上記のサイトからCSV形式でデータをダウンロード、BigQueryにアップロードします。BigQueryにアクセス後、プロジェクト配下にデータセットを作成、さらにその配下にテーブルを作成し、データをアップロードします。

キャプチャ1.PNG

アップロードする際、「自動検出 スキーマと入力パラメータ」にチェックを入れると、CSVファイルの一行目が自動的にカラム名に変換され、データ型も識別してくれます。

キャプチャ.PNG

アップロードしたデータを確認します。

キャプチャ2.PNG キャプチャ3.PNG

③SQLコマンドで抽出・集計

SQLコマンドを使い、アップロードしたデータを分析します。

アプリのタイプについて、何種類あるのかdistinctコマンドで調べてみます。ニュースやゲームなど23種類あることが分かります。

select distinct 
  prime_genre 
from 
  `argon-bulwark-240602.da00002.table2`;
キャプチャ7.PNG

項目について、アプリ名、通貨、価格、ユーザー評価、ジャンルの5つに絞り込んで表示しました。

select
  track_name,
  currency, 
  price, 
  user_rating, 
  prime_genre 
from 
  `argon-bulwark-240602.da00002.table2`;
キャプチャ4.PNG

さらに、無料のものを選び、評価の高い順に並べてみます。

select
  track_name,
  currency, 
  price, 
  user_rating, 
  prime_genre 
from 
  `argon-bulwark-240602.da00002.table2`
where
 price = 0 
order by 
  user_rating desc;
キャプチャ5.PNG

標準的なSQLのクエリは一通り作成できます。グラフ化も簡単なので便利なツールですね。

3
1
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
3
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?