case-kの備忘録

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

BigQueryのINFORMATION_SCHEMAを使い、対象テーブルが日付サフィックステーブルかに判定してみる

備忘録です。データ連携の転送ファイルを自動生成するために、対象テーブルのカラムの取得に加えて、テーブルが日付サフィックステーブルか判定する必要がありました。直接テーブルに対してクエリを発行して調べるとお金が高くかかってしまうので、INFORMATI…

SQL Server BCPプラクティス

BCPコマンドの備忘録となります。今回はSQL Serverのを立てBCPコマンドを使ってテーブル間の情報をコピーできればと思います。 BCPとは SQL Server のETLツールです。SQL Server間のコピーやクエリを実行してファイルに出力することができます。 Embulkより…

Kaggleのコンテナイメージを使ったGPU環境をGoogle Compute Engineに作る

画像系などでGPUを使いたくてGCE上でKaggleのコンテナイメージを使ったGPU環境をつくりました。以下自分用の備忘録となります。 割り当てリクエスト(はじめにやること) Google Compute Engineを立てる NVIDIA ドライバが含まれる CUDAをいれる コンテナ環境…

技術調査メモ:Dataflow_Pythonサポート状況について_20200917

社内でデータ基盤を作っており、データの加工のしやすさだったり、書きやすさだったりでPythonで書き直すことができるか調べてみました。 調べた限りでは使いたい機能は既にサポートされていそうです。 Dynamic Destinations テーブル名を参照して動的にBQに…

技術調査メモ:Firebase / Google Analytics ログ収集調査_20200911

GCP

FirebaseやGoogle Analyticsのログ収集を検討するにあたり調査した内容となります。 Firebase for Google Analyticsのログ収集 Firebase To BigQuery Firebase からBigQueryにリアルタイムでExport可能。Cloud Pub/SubにはExportできない。Firebase からBigQ…

DataflowでBigQueryのインサート時刻を付与する

DataflowでBigQueryのインサート時刻を書き込みたい場合は以下のようにして付与します。 .withFormatFunction((TableRow elem) -> elem.set("bigquery_insert_time", Instant.now().toString())) Dataflowのdynamic destinationを使う場合 WriteResult write…

TerraformでCompute EngineにContainer Registryのイメージをデプロイする

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のFilterプラグインを使った日時変換

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>…

DataflowのDynamic Destinationsを使って動的に出力先のテーブルを変える

オンプレ環境のテーブルをBigQueryにリアルタイムに連携するために、DataflowのDynamic Destinations機能を使いました。Dynamic Destinationsを使うことでテーブル名を考慮して出力先を変えることができます。カスタムテンプレートを作るにあたり、ベーステ…

Dataflowテンプレート作成方法(Java)

DataflowのJava カスタムテンプレートの備忘録となります。pythonのテンプレート作成方法は次の通りです。 www.case-k.jp 環境構築 テンプレート作成 サンプルテンプレート作成 オプションを定義 テンプレート作成 所感 環境構築 まずはMavenをインストール…