ITエンジニアとして経験・学習したこと

ITエンジニアとして経験したり学習したことを忘れないよう、書いていきたいと思います。少しでも皆様のお役に立てれば幸いです。

GCS(Google Cloud Storage)とBigQueryで連動するプログラムを作成した(2)

ここでは、Windows 10が入っているローカル環境にて、Python 2.7・Java 1.8両方の場合で共通で実施した環境構築手順について述べる。

 

前提条件

GCP(Google Cloud Platform)のアカウントは作成済であること。

作成手順は、下記サイトを参照のこと。

www.purin-it.work

 

やってみたこと

  1. Python 2.7のインストール
  2. Python 2.7のパス設定
  3. Google SDKのインストール
  4. サービスアカウントキーの設定
  5. BigQueryへのテーブル作成

 

Python 2.7のインストール

GCSとBigQueryで連動するプログラムを作成するには、Google SDKのインストールが必要であるが、Google SDKが動作するにはPython2.7が必要になるので、ここでインストールする。

 

1) 以下のサイトにアクセス

www.python.org

 

2) 上記サイトから、下記Python 2.7のリンクを押下

f:id:purin_it:python_install_2

 

3) 下記画面に遷移するので、該当するOSのインストーラのリンクを押下

  今回は、Windowsの64ビット版を選択している

f:id:purin_it:python_install_3

 

4) ダウンロードされたファイルをダブルクリック

f:id:purin_it:python_install_4

 

5) 「Install for all users」を選択した状態で、「Next」を押下

f:id:purin_it:python_install_5

 

6) インストールディレクトリを指定し、「Next」を押下

f:id:purin_it:python_install_6

 

7) そのまま、「Next」を押下

f:id:purin_it:python_install_7

 

8) インストールが完了すると、下記画面に遷移するので、「Finish」を押下

f:id:purin_it:python_install_8

 

Python 2.7のパス設定

Python 2.7の場合、インストールしただけだと環境変数のパスが設定されないので、フルパスを指定しなくてもpythonのコマンドが利用できるよう、パス設定を行う。

 

1) 環境変数の画面に遷移し、ユーザー環境変数のPathを選択し、「編集」を押下

f:id:purin_it:python_path_1

 

2) 下記環境変数名の編集画面が開くので、「新規」を押下し、PythonのホームディレクトリをPathに追加し、その下のScriptsディレクトリも同様にPathに追加

f:id:purin_it:python_path_2

 

3) 今回は、Anaconda3も端末にインストールされていて、このままだとPython3が優先されてしまうので、追加したパスをそれぞれ選択し「上へ」を押下することで、Python3でなくPython2.7が優先されるようにする

f:id:purin_it:python_path_3

 

4) 下記のように、Python2.7が最優先された状態にして、「OK」を押下

f:id:purin_it:python_path_4

 

5) 環境変数の画面で「OK」を押下

f:id:purin_it:python_path_5

 

6) 下記のように、pythonのバージョンとpip(Scriptsディレクトリ下)のバージョンを確認すると、Python 2.7のバージョンになっていることが確認できる

f:id:purin_it:python_path_7

 

なお、環境変数の確認方法については、以下のサイトを参照のこと。

next.matrix.jp

 

Google SDKのインストール

GCSとBigQueryで連動するプログラムを作成するには、Google SDKをインストールし、初期設定を行う必要がある。

以下のサイトの「WindowsにCloud SDKをインストール!」以降に書かれた内容に従って、インストールを行えばよい。

www.apps-gcp.com

 

上記手順を実施すると、以下のように、gsutilコマンドが利用できる。

f:id:purin_it:google_sdk_install

なお、gsutilコマンドを実行する際は、バケット名・ファイル名・フォルダ名については、環境に応じて読み替えること。

 

サービスアカウントキーの設定

GCSやBigQueryに外部からアクセスできるようにするには、サービスアカウントキーを作成し、プログラムから参照できるようにする必要がある。

今回は、環境変数GOOGLE_APPLICATION_CREDENTIALSを設定するものとする。

 

1) 以下のサイトにアクセス

cloud.google.com

 

2) GCPにログイン済の状態で、「[サービス アカウント キーの作成]ページに移動」を押下

f:id:purin_it:service_account_2

 

3) サービスアカウントで「新しいサービスアカウント」を指定し、役割は「Project」メニューから「オーナー」を押下

f:id:purin_it:service_account_3

 

4) サービスアカウント名を指定し、「作成」を押下

f:id:purin_it:service_account_4

 

5) ダウンロードされたJSONファイルを、任意の場所に保存し、「閉じる」を押下

f:id:purin_it:service_account_5_1

 

    下記は、保存されたJSONファイルの例

f:id:purin_it:service_account_5_2

 

6) 環境変数の画面に遷移し、「新規」を押下

f:id:purin_it:service_account_6

 

7) 変数名に「GOOGLE_APPLICATION_CREDENTIALS」を指定し、変数値に5)で保存したJSONファイルへのパスを指定し、「OK」を押下

f:id:purin_it:service_account_7

 

8) 環境変数の画面で「OK」を押下

f:id:purin_it:service_account_8

 

BigQueryへのテーブル作成

今回作成するプログラムで必要になるsalesテーブルを作成する必要がある。

 

1) GCPにログインした状態で、「BigQuery」メニューを選択

f:id:purin_it:bigquery_make_tbl_1

 

2) 下記画面が表示されたら、「始める」を押下

f:id:purin_it:bigquery_make_tbl_2

 

3) 「従来のUIに移動」を押下

f:id:purin_it:bigquery_make_tbl_3

 

4) プロジェクト名のメニューから「Create new dataset」を選択

f:id:purin_it:bigquery_make_tbl_4

    なお、BigQueryのテーブルは、何らかのデータセット内に格納する必要がある

 

5) データセットIDを指定し、「OK」を押下

f:id:purin_it:bigquery_make_tbl_5

 

6) 以下のように、データセットが作成された

f:id:purin_it:bigquery_make_tbl_6

 

7) データセットのメニューから、「Create new table」を選択

f:id:purin_it:bigquery_make_tbl_7

 

8) Source Dataで「Create empty table」を指定し、テーブル名・フィールド(カラム)名を指定し、「Create Table」を押下

f:id:purin_it:bigquery_make_tbl_8

なお、「Add Field」ボタンにより、フィールド(カラム)数を増やすことができる

 

9) 以下のように、salesテーブルが作成された

f:id:purin_it:bigquery_make_tbl_9

 

なお、テーブルへのレコード追加は、以下の手順で行える

1) テーブルが選択された以下の状態で「Query Table」ボタンを押下

f:id:purin_it:bigquery_insert_tbl_1

 

2) 「Show Options」を押下

f:id:purin_it:bigquery_insert_tbl_2

 

3) 以下のように、New Query欄にINSERT文を入力し、SQL Dialectの「Use Legacy SQL」のチェックを外し、「Run Query」を押下

f:id:purin_it:bigquery_insert_tbl_3

なお、「Use Legacy SQL」のチェックを外すと、標準SQLという、SQLの統一標準規格に沿ったSQLを利用できる

 

4) 以下のように、INSERT文が実行された

f:id:purin_it:bigquery_insert_tbl_4

 

5) 以下のように、New Query欄にSELECT文を入力し、SELECT「Run Query」を押下すると、追加したレコードが確認できる

f:id:purin_it:bigquery_insert_tbl_5