Validationの備忘録です Visualizing cross-validation behavior in scikit-learn — scikit-learn 0.24.1 documentationVisualizing cross-validation behavior in scikit-learn — scikit-learn 0.24.1 documentation 基本的な分割方法 Kfold 全てのデータが…
Apache Beamノートブックからパイプラインを作ってみました。単純にGCSからファイルを取得し文字数を計算するパイプラインとなります。所感としてはとっても使いやすかったです。JavaだとEclipseを使うことになりますが、データの収集からデバッグまでノート…
Cloud Formationを使ったAWS Image Builderの使い方です。元々RedashのAMIを使っていましたが、環境変数のファイルを変えて再度コンテナをビルドした際AMI側で行ってるビルド処理と重なってしまうせいか、メッセージキューのceleryが動かなくなってしまう事…
アプリケーションのログCloud Loggingに出力してますがBigQuerで扱いたかったので整形しました。1カラム(jsonPayload.message)に次のような形でデータが入っています。 col_1: value_1, col_2: value_2, col_3: value_3, col_4: value_4 配列にして要素を取…
本記事はZOZOテクノロジーズ #1 Advent Calendar 2020 - Qiita 25日目の記事です。本記事ではBigQueryにある個人情報に対してカラムレベルのアクセス制御を行うポリシータグを付与したまま、利用者にマスク処理したカラムの閲覧権限を与える方法についてご紹…
本記事はZOZOテクノロジーズ #1 Advent Calendar 2020 - Qiita 24日目の記事です。バッチ方式の日次データ基盤とストリーミング方式のリアルタイムデータ基盤のスキーマ反映でData Catalogがどのように役立つのか概要も踏まえてご紹介できればと思います。後…
本記事はZOZOテクノロジーズ #1 Advent Calendar 2020 - Qiita 22日目の記事です。 Flex Slotsの概要や導入のメリット、データ基盤における活用用途をご紹介できればと思います。 また、Flex Slotsの購入が失敗した際にオンデマンドに自動で切り替える必要性…
備忘録です。データ連携の転送ファイルを自動生成するために、対象テーブルのカラムの取得に加えて、テーブルが日付サフィックステーブルか判定する必要がありました。直接テーブルに対してクエリを発行して調べるとお金が高くかかってしまうので、INFORMATI…
BCPコマンドの備忘録となります。今回はSQL Serverのを立てBCPコマンドを使ってテーブル間の情報をコピーできればと思います。 BCPとは SQL Server のETLツールです。SQL Server間のコピーやクエリを実行してファイルに出力することができます。 Embulkより…
画像系などでGPUを使いたくてGCE上でKaggleのコンテナイメージを使ったGPU環境をつくりました。以下自分用の備忘録となります。 割り当てリクエスト(はじめにやること) Google Compute Engineを立てる NVIDIA ドライバが含まれる CUDAをいれる コンテナ環境…
社内でデータ基盤を作っており、データの加工のしやすさだったり、書きやすさだったりでPythonで書き直すことができるか調べてみました。 調べた限りでは使いたい機能は既にサポートされていそうです。 Dynamic Destinations テーブル名を参照して動的にBQに…
FirebaseやGoogle Analyticsのログ収集を検討するにあたり調査した内容となります。 Firebase for Google Analyticsのログ収集 Firebase To BigQuery Firebase からBigQueryにリアルタイムでExport可能。Cloud Pub/SubにはExportできない。Firebase からBigQ…
DataflowでBigQueryのインサート時刻を書き込みたい場合は以下のようにして付与します。 .withFormatFunction((TableRow elem) -> elem.set("bigquery_insert_time", Instant.now().toString())) Dataflowのdynamic destinationを使う場合 WriteResult write…
TerraformでContainer RegistryのイメージをGCEにデプロイする方法の備忘録となります、github.com module "gce-container" { source = "terraform-google-modules/container-vm/google" version = "~> 2.0" container = { image = "gcr.io/${var.project}/<container image>"</container>…
Fluentdのプラグインで日時変換した際の備忘録です。 やりたいこと Fluentdで取得したログをBigQueryにいれるためにJSTをUTC変換して「+0000」も取り除く必要があります。「2020-07-06 11:00:00 +0000」 → 「2020-07-06 02:00:00 UTC」 実装 <filter> @type record_t</filter>…
オンプレ環境のテーブルをBigQueryにリアルタイムに連携するために、DataflowのDynamic Destinations機能を使いました。Dynamic Destinationsを使うことでテーブル名を考慮して出力先を変えることができます。カスタムテンプレートを作るにあたり、ベーステ…
DataflowのJava カスタムテンプレートの備忘録となります。pythonのテンプレート作成方法は次の通りです。 www.case-k.jp 環境構築 テンプレート作成 サンプルテンプレート作成 オプションを定義 テンプレート作成 所感 環境構築 まずはMavenをインストール…
最近ストリーミングデータの連携基盤を作っており、パイプラインを作る過程である疑問が浮かびました。 Dataflow必要なのかな。BigQueryでも良い気がする そこでDataflowがなかった場合、どうなるのか考えてみました。 データパイプライン 次のようなデータ…
Cloud FormationでAWSリソースを使ったRedash環境を構築してみました。Redashの開発環境の際必要となったことを備忘録として残せたらと思います。 Redashとは 役割 構成要素 クエリ実行フロー 作りたいもの Redashの注意点 環境変数の変更 Redashのバージョ…
Cloud Run (fully managed) Cloud Run for Anthosの違いを調べてみました。 機能比較 Cloud Run (fully managed) Cloud Run for Anthos Quotas and Limits Cloud Run Connecting to Google Cloud services 料金体系について 参考 GKE と Cloud Run、どう使い…
Dataflow テンプレートを使用すると、Cloud Storage 上のパイプラインをステージングして、さまざまな環境で実行できます。テンプレートは、Google 提供のテンプレートを使用することも、自身で作成することもできます。 Google提供のDataflowテンプレートで…
差分更新連携を行うために、SQL Serverのデータ変更追跡機能を使ってみました。 SQL Serverからリアルタイムに連携するために、差分更新機能を検討しています。 実行環境を準備 コンテナを起動 データベースとテーブル作成 データを追加 Change Trackingを使…
BigQueryのFlex Slotsを試して見ました。バッチで重たいタスクの前にFlex Slotsを購入し、タスク完了後Flex Slotsを元に戻します。 BigQuery Flex Slotsについて やりたいこと 実行コマンド Commitment Reservation Removement 環境情報 権限 BQコマンドの認…
DigdagとEmbulkを使って並列処理を行った際の備忘録です。 Embulkを使った並列処理 環境や実装方法について Dockerfie 秘密情報 docker-compose プロジェクトと秘密情報の登録 Embulkの設定ファイル。 Embulkを使った並列処理 Embulkを使って並列処理を行い…
備忘録としてFluentdのInputプラグインの作り方を残しておきます。 作るプラグインについて Dockerfile 自作プラグインをつくる プラグインの実装サンプル 設定ファイル 起動 動作確認 所感 作るプラグインについて SQL Serverからデータを取り出し、取得結…
頭の整理にもなるので効果検証入門を読んだ所感と実務に使えそうな方法を整理してみました。 簡単に書籍の紹介 本書はバイアスがある中で、バイアスを取り除いた介入の本当の効果を調べる手法を紹介しています。 例えば、購買意欲の高いユーザに広告配信を行…
効果検証入門 5章 回帰不連続デザイン(RDD)の備忘録と所感になります。 概要 回帰不連続デザイン(RDD)とは 活用用途について 介入有無がルールで決められている場合(傾向スコアを使えない場合) 時系列で介入の変化が起きていない場合(DIDを使えない場合) 実…
効果検証入門 4章 差分の差分法(DID)とCausallmpactの備忘録となります。 DIDとは DIDを使いたい時 DID (Difference in Difference) 平行トレンド過程 トレンドが同一ではない場合どうするのか? 1. 仮定を満たさないデータを取り除くこと 2. トレンドの乖…
業務でDigdagを使う機会かあったので、DigDagを使ってBigQueryのジョブを実行してみました。 事前準備 JDK 8u72をインストール DigDagをインストール サービスアカウントキーを発行 データセットをつくる DigDagを使ってみる ジョブ 依存関係を定義 ディレク…
本記事は効果検証入門3章の備忘録となります。 概要 傾向スコアとは 活用用途について 傾向スコアマッチング IPW 実践 事前準備 傾向スコアマッチング マッチング後のデータで効果の推定 IPW 傾向スコアと回帰分析はどちらを使うべきか 所感 概要 傾向スコア…