case-kの備忘録

日々の備忘録です。データ分析とか基盤系に興味あります。

Selenium+Chrome Driverで日経平均株価をスクレイピング

株価のアプリを作ろうかと考えてます。日経株価をBeautiful Soupでスクレイピングしようと思ったのですが、日経平均株価のサイトは年月日を指定することで数値が可変するサイトでしたのでSerenimでスクレイピングしました。Serenimはブラウザの操作が可能な…

DataprocでPySparkの分散並列処理を行う方法

Dataprocの備忘録です。DataprocでGCSに配置したcsvファイルをDataFrameで読み込み分散並列処理する記事です。 簡単にDataprocを紹介 事前準備 PySparkを実行 所感 簡単にDataprocを紹介 DataprocはGCP上でSparkやHadoopを実行できる環境を提供します。今回…

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系のサポートも始めたらしいので期待です。 Dataflowとは Python 2系で実行 Python 3系で実行 Dataflowとは DataFlowはGCPのETLツールでデ…

BigQueryのStandard SQLで四分位計算

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

BQコマンド備忘録

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

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

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

入門記事:GCE (Google Compute Engine) で作るJupyter分析環境

Google Compute Engine(GCE)にJupyterで必要最低限の分析環境を作る入門者向けの記事です。 code インスタンス構築(GCE) IP制限の設定 Dockerインストール Jupyter環境構築(Docker) Jupyter環境構築(Dockerを使わない) code github.com インスタンス構築(GCE…

Kaggle備忘録 地震コンペ

Kaggleの地震コンペに参戦してみました。結果は銅メダル圏内のPublic順位346位からPrivate順位885位落ち(メダルは取れませんでした。orz.....)、ソリューションでもなんでもないんですが、備忘録と戒めの意味でこのコンペで自分なりに試したことを残しておき…