見出し画像

Googleデータアナリティックス - 12週目 データベース・メタデータ・BigQuery

Googleデータアナリティックスという、データ分析を仕事にしたい人向けの講座を受講してます。全6か月分、計30週分のコースで優秀なデータアナリストになろうという内容です。

デ―タベース・メタデータを使った分析について学習しました。これで全体の約40%が学習完了です。

データベースの概要


デ―タベース・メタデータを使った分析には、リレーショナルデータベースという構造とSQLを活用する。データベースには、データを保管・整理しデータアナリストがアクセスしやすくするという役割がある。
無料で学習に使えるデータベースとして、今回はGoogleのBigQueryというオープンデータの探索や独自データセットの作成に使えるサービスを活用する。

リレーショナルデータベース


リレーショナルデータベースとは、いくつかのテーブルの関係性に基づいて構成されたデータベースの事である。テーブル間の関係性は主キー(Primary Key)という、各値が一意である列を参照する識別子を使って管理する。対して、テーブル間を結び付けるには外部キー(Foreign Key)という識別子を用いる。

異なるデータベースに同じデータが含まれていることを冗長性という。データベースの管理の基礎には、データの重複を削除し更新時に発生する異常を取り除くことが含まれる。これをデータベースの正規化という。バックアップのために冗長性を確保するべき時もあれば、バグや異常を削減するため正規化するべき時もある。

メタデータ


メタデータは、画像ファイルやメール等々に含まれている「データのデータ」である。メタデータはウェブサイトや書籍にも埋め込まれている。
メタデータの種類には、次の3種がある。

記述メタデータ - データの断片を説明し、識別するのに用いる。ISBNなど
構造メタデータ - データがどのデータベースに属するかを表す。
管理メタデータ - ファイルなどの出所や管理に必要な情報。写真の埋め込みデータなど

メタデータは、データの信頼性の検証(ROCCC)に用いる情報を埋め込みデータの再利用・個人情報保護に活用できるという効果がある。データアナリストがデータベース内のデータの内容を解釈するのに役立つこともある。

BigQueryについて


SQLで大規模データセットを扱うには、Googleが提供しているBigQueryのサンドボックスの料金オプションで使い始めると良い。サンドボックスではデータ数やプロジェクト数に制約があるが、個人で扱うには十分な分析ができる。BigQueryは、オープンデータを探す場合や行数が100万を超す大きなデータから必要な情報を取り出したい時に有効である。

サンドボックスには、プロジェクト数が12まで・フィールドの値をアップデートできない等の制約がある。どうしても制約を外したい場合は、無料トライアルや有料利用といったサービスがある。

BigQueryでオープンデータを解析

BigQueryでは、Googleの一般公開データセットを使える他独自のデータセットを利用することも可能。今回はsunroof_solarという、太陽光発電に関するビッグデータを用いる。

solar_potential_by_censustractから先頭1000行を抽出するには、次の様に記述する

SELECT * 
FROM bigquery-public-data.sunroof_solar.solar_potential_by_censustract 
LIMIT 1000

ペンシルバニア州からのデータのみを抽出したい場合は、WHERE句を用いる。599データがヒットする

SELECT *
FROM bigquery-public-data.sunroof_solar.solar_potential_by_postal_code
WHERE state_name = "Pennsylvania"

BigQueryでカスタムテーブルを作成

BigQueryで独自のデータセットを利用する方法。今回はアメリカ社会保障局のウェブサイトから、人気のある子どもの名前に関するデータをDLしてBigQueryにアップロードする。

BigQueryで新しいデータセットを作成すると、そのクエリ.csvファイル、.txtファイル等をアップロードできるようになる。データを作成する前にスキーマを指定できるので、名前・性別、インデックスなどのデータ型を指定する。

2014 年にアメリカで生まれた男の子の名前のトップ 5 を調べるには、新しいクエリを作成し次のSQL文を書く。

SELECT names,count
FROM babynames.names_2014
WHERE gender = "M"
ORDER BY count DESC
LIMIT 5


この記事が気に入ったらサポートをしてみませんか?