概要
bq-visualizerをご存知でしょうか。
色々と記事があるので詳しくはそちらをご確認いただくとして、ざっくりいうとBigQueryのジョブの実行結果を見やすく加工してくれるツールです。
GitHubにてGoogleがソースコードが公開されており、また開発者の方が一般公開もされていて、こちらを利用している方もいらっしゃるかと思います。
しかしながら、BigQueryのジョブ情報を外部のサイトにuploadするのはセキュリティ的にどうなんだというのもあり、できれば会社のネットワーク内で利用できないかと考え、じゃあ立てたらええやんということでやってみました。
なお、筆者はAngularとか詳しくないので、とりあえずlocalhostで立ち上げるまでを頑張りました。
また、「とりあえず建てる」を目標としたので、細かいところは目をつぶっています。実際に社内で運用しようとしたらもっと色々考えることはあるはず。
要するにこの記事は自分用のメモです。
手順
ローカルで資材の準備
1.Dockerfileを書く
FROM node:16.10.0-stretch
RUN npm install -g @angular/cli && ng config -g cli.packageManager yarn
WORKDIR /projects
2.Githubからクローン
なるべく余計なファイルはダウンロードしないようにします。
git clone -b master --single-branch https://github.com/GoogleCloudPlatform/professional-services.git --depth 1
3.ビルド&コンテナ起動
docker-compose up --build -d
4.コンテナに入る
docker-compose exec node bash
コンテナ内での作業
1.bq-visualizerの階層まで移動して色々インストール
cd professional-services/tools/bq-visualizer/
yarn
# このまま起動しようとすると↓のエラーが出るので、typescriptのバージョンを下げる
# The Angular Compiler requires TypeScript >=4.2.3 and <4.4.0 but 4.5.2 was found instead.
npm uninstall -d typescript
npm install -d typescript@4.3.5
2.起動
yarn run ng serve --host=0.0.0.0
3.http://localhost:4200/ にアクセスで起動確認
注意点
- 手順の中にも書きましたが、TypeScriptのバージョンが合わずに起動しない場合があります。
これの解決策がわからず、とりあえずuninstall&installで回避しました。
TypeScriptのバージョンはどこに書いてあるんだろうか・・・ - 筆者の環境はMacです。Docker Desktop On Macのデフォルトのメモリでは足りず、エラーが発生しました。
とりあえず8.00GBに設定したら起動できましたが、適切な値はまだ調べていません。
今後
最終的にはAppEngineあたりに乗せて社内で使えるようにしたいなと考えていますが、その前に見えているだけでもいくつかの課題があります。
- TypeScriptのバージョンコントロールがダサい
- docker-composeよくわかってない
- Angularよくわかってない
- メモリどれくらい必要かわかってない
まずはこの辺を調査&勉強したいと思います。。