Google Cloud Platform
普段Google BigQueryでは簡単な集計SQLしか使っていないのですが、集計SQL以外にも色々便利な機能があります。 ただ、使用頻度が高くないので、いざ使おうとするとマニュアルを探すところから始まるので、自分用に簡単な使い方をまとめておこうと思います。 …
GCP関連でプログラムを作っていて、ちょっとしたデータを保存したいことがありました。 データベースを立てるほど大げさなデータでもないし、データ間で結合クエリを書くこともなさそうな単発のデータでした。 そもそも、データベースを立てると、使っていな…
普段Google BigQueryでは簡単な集計SQLしか使っていないのですが、集計SQL以外にも色々便利な機能があります。 ただ、使用頻度が高くないので、いざ使おうとするとマニュアルを探すところから始まるので、自分用に簡単な使い方をまとめておこうと思います。 …
普段Google BigQueryでは簡単な集計SQLしか使っていないのですが、集計SQL以外にも色々便利な機能があります。 ただ、使用頻度が高くないので、いざ使おうとするとマニュアルを探すところから始まるので、自分用に簡単な使い方をまとめておこうと思います。 …
普段Google BigQueryでは簡単な集計SQLしか使っていないのですが、集計SQL以外にも色々便利な機能があります。 ただ、使用頻度が高くないので、いざ使おうとするとマニュアルを探すところから始まるので、自分用に簡単な使い方をまとめておこうと思います。 …
普段Google BigQueryでは簡単な集計SQLしか使っていないのですが、集計SQL以外にも色々便利な機能があります。 ただ、使用頻度が高くないので、いざ使おうとするとマニュアルを探すところから始まるので、自分用に簡単な使い方をまとめておこうと思います。 …
普段GCPの操作は、コマンドラインツールかクライアントライブラリ経由で行えるので、REST APIを直接呼び出すことはありませんでした。 今GCP Batchというサービスを試しているのですが、まだプレビュー段階でコマンドラインツールやクライアントライブラリが…
Google BigQueryは従量課金で比較的安価なため、今まで料金のことはあまり気にせず使っていました。 ビッグデータ分析は、今まで推測するしかなかった事柄が、実際に数値として出せるようになり画期的でした。 その便利さが周知されるようになると、BigQuery…
Google Professional Data Engineer認定資格の試験を受ける機会があり、無事合格できました! Google Professional Data Engineer認定資格に関する情報は少ないので、興味ある方向けに合格体験記を書こうと思います。 Google Professional Data Engineer認定…
複数のPCを使っていて、それぞれのPCに Visual Studio Code(VSCode)をインストールしているのですが、ブラウザ上でVSCodeが使えれば、セットアップ不要でいつでも同じ環境が使えて楽なのになぁと思うことがよくあります。 GitHub Codespacesが正にそういっ…
思い立ったらサクッとSPAサイトが作れたらいいなぁと思っていたのですが、Reactはちょっとしたサイトを作るにも大掛かりになってしまうので諦めていました。 しかし、最近ReactのRecoilを触り始めたのですが、Recoilを使うと、Reactも随分シンプルに書けるよ…
ゴルーチン リーク Go言語はめちゃめちゃ簡単にゴルーチン(スレッドのようなもの)を作れるのが魅力です。 あまりにも簡単なので、あまり深く考えずゴルーチンを生成していたのですが、ゴルーチンはメインフローとは別に切り離されて実行されるので、デッド…
GCPのKubernetes(GKE)で、プログラムでエラーが発生したら、Slackやメールなどの外部に通知する方法です。 自分でエラー検知の仕組みを実装しなくても、GCPの設定のみで可能です。 大まかな仕組み プログラムでエラーが発生した時に、プログラムから標準エ…
Kubernetesの新しいクラスターを追加したので、kubectlコマンドで切り替えられるように設定しました。 一度設定してしまうといじることはなく、このままだとやり方忘れてしまうので、自分用に設定方法をメモしておきます。 仕組み Kubernetesを操作するにはk…
Google Cloud Platformに新しいプロジェクトを追加したので、Google Cloud SDK(gcloud CLI)でプロジェクトを切り替えられるように設定しました。 一度設定してしまうといじることはなく、このままだとやり方忘れてしまうので、自分用に設定方法をメモして…
定期的に、AWS S3のファイルを、Google Cloud Storageにコピーしています。 コピーのやり方は色々あるのですが、ここではGoogle Cloud SDKのgsutilコマンドを使っていて、 Google Cloud SDKは、Alpine LinuxのDockerイメージを使用しています。 しかし、ある…
Google BigQueryに、Google Cloud Storageのファイルをロードする時、複数のファイルをまとめてロードすることができます。 しかし、それをGoogle BigQueryのNode.js SDKでやろうとしてハマったので、そのメモ書きです。 概要および問題点 table.createLoadJ…
Google Cloud Storageで、サブディレクトリ内のファイル一覧を取得して、それらのファイルの処理をしようとしました。 しかし、ファイルがおかしいとエラーが出るので見てみたら、取得したファイル一覧に、サブディレクトリが含まれていました。 原因 前に勘…
以前、Google Cloud Storageのサブディレクトリ一覧を、GCP Pyhtonライブラリを使って取得したのですが、そのNode.jsバージョンです。 Pythonバージョンはこちら www.kwbtblog.com 手順 GCP Node.js SDKのドキュメントにサンプルがあるので親切ですね。 http…
Google Cloud Platformからメールが来ていました。 Gooble Cloud Functionsで、当初作ったFunctionのNode.jsのバージョンが6だったのですが、今回バージョン6のサービスが終わるので、そのバージョンアップ要請のメールでした。 薄々意識はしていたのですが…
Spark(Google Dataproc)から、AWS S3にアクセスする方法です。 手順 Spark設定 下記のSpark・Haddopの設定をすると、SparkからAWS S3ファイルの読み書きができるようになります。 Sparkに下記AWS関連のjarファイルを読み込みます aws-java-sdk-bundle-xxxx…
Spark(Google Dataproc)から、Microsoft SQL Server(Azure Database)にアクセスする方法です。 手順 Spark設定 下記のSparkの設定をすると、SparkからSQL Serverのデータの読み書きができるようになります。 MS SQL ServerのJDBCのjarファイルをダウンロ…
Spark(Google Dataproc)から、MySQLにアクセスする方法です。 JDBCを使ってアクセスするので、PostgreSQL等、他のRDBにも応用可能です。 手順 Spark設定 下記のSparkの設定をすると、SparkからMySQLのデータの読み書きができるようになります。 MySQLのJDB…
BigQueryはデータ量が膨大でも、インフラの事は全く(本当に全く)気にしなくてよく、しかも早くて安いので、 データは全てBigQueryに入れてしまって、全部BigQueryで処理したくなってしまいます。 そんな訳で、MySQLのデータベースをまるまるBigQueryにロー…
Google Cloud Storageのサブディレクトリ一覧を、GCP Pythonライブラリを使って取得したかったのですが、 ハマったので、その経緯と方法のメモ書きです。 他の言語のライブラリも、Pythonライブラリ同様APIラッパーなので、応用可能かと思います。 NG 例 最…
Kubernetes(GKE)でLet's Encryptを自動更新するのに「cert-manager」+DNS認証を使うと、サービス側での処理なしで自動更新できて便利だったので、その導入手順メモです。 以前にも導入メモを書いたのですが、手順が変わっていたので、ワイルドカード証明書…
日付で飛び飛びなデータを集計する時には、カレンダーテーブルが欲しくなることがあります。 Google BigQueryでは下記でカレンダーテーブルを作成できます。 「GENERATE_DATE_ARRAY()」でカレンダー配列が作れるので、「UNNEST()」で配列を行に展開してテー…
追記 手順が変わっていたので、ワイルドカード証明書の取得方法と合わせて、別記事に書き直しました。 www.kwbtblog.com 追記ここまで(以下元記事) Kubernetes(GKE)でLet's Encryptを自動更新するのに「cert-manager」+DNS認証を使うと、サービス側での…
Google Cloud Platform のKubernetes(GKE)でHTTPS通信する方法についてのまとめです。 はじめに Kubernetesが外部と通信できるようにするには Serviceによる方法 Ingressによる方法 の2通りのやり方があります。 Serviceによる方法では、外部IPはGCPのロード…
Google Cloud Platform(GCP)にはユーザーアカウントとサービスアカウントの2種類のアカウントがあります。 ユーザーアカウントはGmailでおなじみのGoogleアカウントのことで、複数の任意のプロジェクトに属することができます。一方サービスアカウントは…