case-kの備忘録

日々の備忘録です

entrykitのテンプレート機能を使い、Nginxの設定を環境変数で制御する

entrykitのテンプレート機能を使ってNginxのDockerfileを作ります。 Code entrykitとは Nginxのイメージを取得 コンテナ内の設定ファイルを確認 環境変数を制御 設定ファイルを作成 ログ:etc/nginx/conf.d/log.conf バックエンドサーバ振り分けーetc/nginx/…

Google Kubernetes Engine を触ってみた

Google Kubernetes Engineについて少し調べたので備忘録として残しておきます。 Code 概要 Google Kubernetes Engineとは 実践編 Cloud SDKをインストール GKEクラスタ構築 Kubernetesでストレージを確保するためのリソース PersistentVolumeとPersistentVol…

Kubernetesの概要と実践

Kubernetesについて調べたことを備忘録としてまとめてみました。 Code Kubernetesの概要 DevOpsとマイクロサービス Dockerとコンテナ技術について Docker Composeの課題とKubernetesが解決すること Kubernetesの構成要素・リソース 基本的な利用に必要なリソ…

Docker Swarmの概要と実践

コンテナオーケストレーションシステムのDocker Swarmを触ってみました。「Docker/Kubernetesコンテナ実践入門」を読み進めておりDocker Swarmは飛ばしてKubernetesから入ろうかとも思ったのですが、Kubernetesを理解する上で、Docker Swarmの知識も役立ちそ…

「Docker/Kubernetes実践コンテナ開発入門」Docker(1~3章)備忘録

Google Kubernetes Engineについて調べてたのですが、そもそもDockerも今までなんとなく使っていたので、改めて調べて見ました。コマンドとかは自分用の備忘録です。 書籍の「Docker/Kubernetes実践コンテナ開発入門」1~3章と「入門 Docker」を参考にさせて…

Cloud SQLの概要と実践

Cloud SQLの概要を調べたのち、MySQLとSQL Serverで実践します。 概要 Cloud SQLと は 活用用途 Cloud SQLの料金体系 実践 Cloud SQL (SQL Server) インスタンス構築 Cloud SDKをインストール ローカルPCにプロキシをインストール プロキシを起動 接続確認 …

Material UIを使って株価アプリの見栄えをよくする

Material UIを使って見栄えをよくしたいと思います。 Material UIとは セットアップ Material UIを使うまえ Material UIを使ったあと Material UIとは ReactJSで人気のあるUIコンポーネントで、マテリアルデザインと呼ばれるGoogleが推奨するデザイン手法の…

React-ReduxとExpressでBigQueryからデータを取得するAPIを作る

React-ReduxとExpressでBigQueryからデータを取得するAPIを作りました。株価のアプリを作ろうと思い、その過程を記事にしている備忘録となります。 セットアップ 必要なモジュール 前提 サービスアカウントキー クライアントライブラリでAPIを作る アクショ…

Highcharts Reactで日経平均株価を表示する

Highchartsでグラフを描画するコンポーネントを作ってみました。株価のアプリを作ろうと思ってるので日経平均を表示させてみたいと思います。 完成イメージ セットアップ コンポーネントを作る コンポーネントを使う 完成イメージ 日経平均株価を表示するコ…

React-ReduxとExpressでイベント一覧を取得表示する

前回作成したExpressサーバからイベントデータを取得して、Reactで一覧表示させてみます。 www.case-k.jp バックエンドは前回作成したExpressサーバを使いフロントエンドをReactで作ります。 React:localhost:3000, Express:localhost:3001 Code セットア…

Express + Node.jsでイベント一覧を返すAPIを作る

Node.jsのフレームワークExpressで簡単にイベント一覧を返すAPIを作ります。 Expressのセットアップ イベント一覧を返すAPIを作る Expressのセットアップ まず、Node.jsとyarnコマンドをインストールします。yarnは2016年にFaceBookが公開したJavaScriptのパ…

Google Cloud 認定資格 Professional Data Engineerに合格できたので、勉強方法など書いてみました

GCP

Google Cloud認定試験のProfessional Data Engineerに合格したので勉強方法など共有できればと思います。 試験概要 勉強方法について 試験の印象 認定証 所感 試験概要 Google Cloud認定試験の一つでビックデータまわりの知識を問われます。試験の概要はこち…

Dataflowが解決するストリーミング処理の課題と基盤構築で考慮すること

Dataflowが解決するストリーミング処理の課題と基盤を作る上で考慮すべき点をいくつか資料を参考に備忘録もかねて整理してみました。 ストリーミング処理の概要 ストリーミング処理とは バッチ処理との違い ストリーミング処理の課題 データ量と変動性 遅延…

JavaScript / 配列に含まれるJSONを文字列変換しSQLで使う

配列ないのJSONをパースし文字列に変換します。変換させた文字列はSQLのWhere句で使ったりします。 import _ from 'lodash' // json in array const jsonList = [ {'key':1}, {'key':2}, {'key':3} ] // from json to array const valueLsit = _.map(jsonLis…

Cloud Pub/Subの概要とPythonでの実践

Cloud Pub/Subの概要とPythonでの使い方を記事にしました。簡単な概要と、Python Clientを使いトピック・サブスクリプションの作成からメッセージ送信・確認まで行います。 Code Cloud Pub/Subの概要 Cloud Pub/Subとは メッセージ配信法式 Pub/SubとDataflo…

BigQueryのウィンドウ処理

BigQueryウィンドウ処理の備忘録です。 Dataset RANK() LAG/LEAD ROW_NUMBER() Dataset console.cloud.google.com RANK() ベンダーごとの旅客数が多いレコード順にランクを付与します。 SELECT vendor_id, passenger_count, RANK() OVER (PARTITION BY vendo…

Python Client GBQ & GCS

Code library Read From GBQ To Local Upload From Local To GCS Read From GCS Load From GCS To GBQ Code # python_client_gbq_gcs.py github.com library !gcloud auth application-default login !pip install --upgrade google-cloud-bigquery !pip ins…

Dataflowが得意なこと、苦手なこと

Dataflowが得意なこと、苦手なことを考えてみました。 得意なこと バッチ/ストリーミング処理(特にストリーミング処理) サイズの大きいデータを扱うこと サーバ費用を抑えること 苦手なこと 逐次処理 複雑なパイプライン制御(役割が異なる) 得意なこと バッ…

AutoMLでDSの役割がどう変わりそうなのか調べてみた

著名な方の意見を参考にAutoMLでDSの役割がどう変わりそうなのか調べてみました。 AutoMLとは 実施手順 STEP 1 STEP 2 STEP 3 メリット 推定精度が高い 簡単でGCP上で完結する 簡単な分析も可能 デメリット 推定精度が安定しない 費用が高く学習頻度が多い場…

Dataflow Google BigQuery I/O connector:Python

Dataflowを使ってBigQueryからBigQueryに書き込む処理とCloud StorageからBigQueryに書き込む処理をします。 Code options GBQ to GBQ GCS to GBQ beam.apache.org Code github.com options # -*- coding: utf-8 -*- import apache_beam as beam from apache…

Cloud Composerを使いDataflowのパイプライン制御をする方法

Cloud ComposerでDataflowテンプレートを順次キックしていく逐次処理を行います。順番に処理が行われたことを確認するために前のDataflowのテンプレート実行し作られたファイルを参照する処理にしました。 code Composer環境を作る Dataflowのテンプレートを…

Dataflowパイプライン処理の備忘録:Python

Dataflowで使うパイプライン処理の備忘録です。随時更新できればと思います。 options udf branch group by Filter beam.apache.org options # -*- coding: utf-8 -*- import apache_beam as beam # プロジェクトID PROJECTID = 'project id' # オプション設…

Dataflowカスタムパラメータの追加方法:Python

Dataflowテンプレートでカスタムパラメータを追加します。パラメータを静的に定義する方法とテンプレート実行時に動的にパラメータを指定する方法を紹介します。gclodコマンドで実行しますが、Cloud Functonsからテンプレートをキックする方法は以下の記事を…

Cloud Schedulerのパイプライン制御における活用用途について

Cloud Schedulerとは どのような時に使うか? Cloud Composerとの違い パイプライン制御におけるトリガーとしての役割 運用フローを考慮したトリガー選定 Cloud Schedulerとは GCPが管理するフルマネージドでサーバレスなクーロンサービスです。 どのような…

Cloud Composerの活用事例と料金体系について

Cloud Composerの活用事例と料金体系について調べてみました。 Cloud Compoer とは? Cloud Compoer活用事例 メルペイ メルカリ DeNA JapanTaxi エウレカ リブセンス SmartNews BrainPad 料金体系について 所感 Cloud Compoer とは? Cloud ComposerはGCPが…

Dataflowテンプレート実行方法:Python

GAEなどでDataflowのテンプレートの実行方法です。パラメータは以下のようにして渡します code Dataflowのテンプレートの実行 code github.com Dataflowのテンプレートの実行 "parameters": { "input": "gs://{}/sample2.csv".format(PROJECTID), "output": …

Cloud FunctionsでDataflowテンプレートをキックさせる方法:Python

Cloud FunctionsでGCSのバケットに置かれたファイルを検知し、Dataflowのテンプレートをキックします。パラメータとしてCloud Functionsでファイル名を取得し、Dataflowのテンプレートに引数として渡します。GCSから加工しGBQに取り込むケースなどに使います…

BigQueryマスタ更新のベストプラクティスと見解

こちらの記事でベストプラクティスは以下と紹介されており、実運用を考慮した際、現実的には「Data Loadingを利用して追加」する方法が良いようです。 この方法は1テーブルにレコードを追加し、最新のTIME STAMPを参照するVIEWテーブルを作り参照させる方法…

Dataflowテンプレート作成方法

Pythonベースで記述したDataflowのコードをテンプレート化し、実行してみます。テンプレートを作成するためには以下のコードを追記するだけです。コードを実行するとGCS内にテンプレートが作られるので、作成したテンプレートを実行してみます。 gcloud_opti…

DataflowでPython3系を使って良いのか検討してみた

DataflowでPython3系を使って良さそうか調べてみました。 Python3系を使いたい理由 DataflowのPython3系のサポート状況について Apach Beamのissueについて 動作確認 ストリーミング処理は? 結論(個人的な) Python3系を使いたい理由 DataflowはETLツールな…