2020-01-01から1年間の記事一覧
本記事は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 傾向スコアと回帰分析はどちらを使うべきか 所感 概要 傾向スコア…
効果検証の2章では回帰モデルを使い、介入変数の説明力から因果関係を解釈します。www.case-k.jp 概要 実践 データ項目 RCTでデータを絞り込む。 バイアスのあるデータを作る 回帰分析 分析結果のレポート 回帰分析におけるセレクションバイアスと解決策 セ…
本記事は効果検証入門1章の備忘録となります。gihyo.jp 概要 セレクションバイアスとは RCTとは RCTの状態をつくりだすにはコストがかかる 実践編 データ項目 RCTと効果検証 バイアスのあるデータの効果検証 概要 セレクションバイアスとは 比較しているグ…
Cloud Buildを使いアプリのデプロイ作業を自動化してみました。Cloud Source RepositoriesへのpushをトリガーにDockerfileをビルド、イメージをContainer Registry に登録、登録したイメージをGKEのクラスタにデプロイさせます。 Cloud Buildの基本操作 マニ…
Google Kubernetes Engine上にコンテナ化した株価アプリをデプロイしてみました。 アプリの構成 セットアップ GKEのクラスタを作成 DockerfileをGoogle Cloud Registoryにpushする マニフェストファイルの作成 Deploymentを定義(React+Nginx)ーreact-app-dep…