今回も引き続き、GCSとBigQueryで連動するプログラムについて述べる。ここでは、Windows 10が入っているローカル環境にて、Python 2.7・Java 1.8両方の場合で共通で実施した環境構築手順について述べる。
前提条件
GCP(Google Cloud Platform)のアカウントは作成済であること。作成手順は、下記サイトを参照のこと。
やってみたこと
Python 2.7のインストール
GCSとBigQueryで連動するプログラムを作成するには、Google SDKのインストールが必要であるが、Google SDKが動作するにはPython2.7が必要になるので、ここでインストールする。
1) 以下のサイトにアクセス
https://www.python.org/downloads/windows/
2) 上記サイトから、下記Python 2.7のリンクを押下
3) 下記画面に遷移するので、該当するOSのインストーラのリンクを押下。今回は、Windowsの64ビット版を選択している
5) 「Install for all users」を選択した状態で、「Next」を押下
8) インストールが完了すると、下記画面に遷移するので、「Finish」を押下
Python 2.7のパス設定
Python 2.7の場合、インストールしただけだと環境変数のパスが設定されないので、フルパスを指定しなくてもpythonのコマンドが利用できるよう、パス設定を行う。
1) 環境変数の画面に遷移し、ユーザー環境変数のPathを選択し、「編集」を押下
2) 下記環境変数名の編集画面が開くので、「新規」を押下し、PythonのホームディレクトリをPathに追加し、その下のScriptsディレクトリも同様にPathに追加
3) 今回は、Anaconda3も端末にインストールされていて、このままだとPython3が優先されてしまうので、追加したパスをそれぞれ選択し「上へ」を押下することで、Python3でなくPython2.7が優先されるようにする
4) 下記のように、Python2.7が最優先された状態にして、「OK」を押下
6) 下記のように、pythonのバージョンとpip(Scriptsディレクトリ下)のバージョンを確認すると、Python 2.7のバージョンになっていることが確認できる
なお、環境変数の確認方法については、以下のサイトを参照のこと。
https://www.javadrive.jp/start/install/index4.html
Google SDKのインストール
GCSとBigQueryで連動するプログラムを作成するには、Google SDKをインストールし、初期設定を行う必要がある。その手順は、以下のサイトを参照のこと。
https://www.wantanblog.com/entry/2020/06/02/210033
上記手順を実施すると、以下のように、gsutilコマンドが利用できる。
なお、gsutilコマンドを実行する際は、バケット名・ファイル名・フォルダ名については、環境に応じて読み替えること。
サービスアカウントキーの設定
GCSやBigQueryに外部からアクセスできるようにするには、サービスアカウントキーを作成し、プログラムから参照できるようにする必要がある。今回は、環境変数GOOGLE_APPLICATION_CREDENTIALSを設定するものとする。
1) 以下のサイトにアクセス
https://cloud.google.com/docs/authentication/production?hl=ja
2) GCPにログイン済の状態で、「[サービス アカウント キーの作成]ページに移動」を押下
3) サービスアカウントで「新しいサービスアカウント」を指定し、役割は「Project」メニューから「オーナー」を押下
5) ダウンロードされたJSONファイルを、任意の場所に保存し、「閉じる」を押下
7) 変数名に「GOOGLE_APPLICATION_CREDENTIALS」を指定し、変数値に5)で保存したJSONファイルへのパスを指定し、「OK」を押下
BigQueryへのテーブル作成
今回作成するプログラムで必要になるsalesテーブルを作成する必要がある。
1) GCPにログインした状態で、「BigQuery」メニューを選択
4) プロジェクト名のメニューから「Create new dataset」を選択
なお、BigQueryのテーブルは、何らかのデータセット内に格納する必要がある
7) データセットのメニューから、「Create new table」を選択
8) Source Dataで「Create empty table」を指定し、テーブル名・フィールド(カラム)名を指定し、「Create Table」を押下
ちなみに、「Add Field」ボタンにより、フィールド(カラム)数を増やすことができる
なお、テーブルへのレコード追加は、以下の手順で行える
1) テーブルが選択された以下の状態で「Query Table」ボタンを押下
3) 以下のように、New Query欄にINSERT文を入力し、SQL Dialectの「Use Legacy SQL」のチェックを外し、「Run Query」を押下
なお、「Use Legacy SQL」のチェックを外すと、標準SQLという、SQLの統一標準規格に沿ったSQLを利用できる
5) 以下のように、New Query欄にSELECT文を入力し、SELECT「Run Query」を押下すると、追加したレコードが確認できる