case-kの備忘録

備忘録です。GCPやデータ分析系のことを呟きます。

Jupyter NotebookでBigQueryを使う方法

JupyterからBigQueryを使うことがよくあるので備忘録として残しておきます。 PythonクライアントライブラリをインストールすることでJupyterから実行できます。 # auth gcloud auth application-default login # install python client pip install --upgrad…

Bigtableの特性とスキーマ設計について

Bigtableについて調べてみました。 Bigtableとは 他のDBと比較 Bigtableのアーキテクチャ スキーマ設計 KEYの作り方 カラムファミリー 所感 Bigtableとは GCPプロダクトのNoSQLデータベースで大規模データをミリセックレベルの低レイテンシーで処理したい場…

Dataflowを検証「Python2系と3系」

GCPのサーバレスETLツールであるDataflowの検証をしてみました。 前に使った時はPython2系しか使えなかったんですが3系のサポートも始めたらしいので期待です。追記 20190911 apache-beamのバージョン 2.15.0でPython3系でも実行できました。 簡単にDataflo…

BigQueryのStandard SQLで四分位計算

GBQのStandard SQLでの四分位計算方法を備忘録として残しておきます。 これまで中央値などの計算はGBQのレガシーSQLを使っていたのですが、制限等何かと不便でしたので調べてみました。 SELECT day , min, percentiles[offset(25)] AS per_25, percentiles[o…

BQコマンドでデータ取得

BigQueryの集計結果をサーバで扱いたい場合、以下の方法が考えられます。gsutilだと一度GCSにデータを保存する必要があるので手っ取り早く手元にデータを落としたい場合、BQコマンドは便利です。データサイズが大きい場合や取得に時間がかかるので一度GCSに…

分析基盤をPostgreSQLからBigQueryに移行させた時の知見

PostgreSQLベースのBIツールの参照DBをBigQueryに移行したことで、 パフォーマンスが大きく改善(30分以上 -> 10秒)したので、その時の知見をメモとして残しておきたいと思います。 経緯 BigQueryの選定理由 1. 現行がRDBベース 2. 集計結果のデータサイズが…

Babel

Babelとは BabelはJavaScriptの仕様の差異を吸収してくるモジュールです。 Babelを使うことで現在一般的に使われているJavaScriptに変換することができます。 例えば変数の宣言としてvarではなく、constが推奨されています。 ブラウザによってはJavaScriptの…