case-kの備忘録

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

fluentd でjRubyを使ってマルチスレッド処理を早くする

rubyでマルチスレッド処理を使うとGILの制約により、CPUのコアをうまく使えなかったのでGILの制約を受けないjRubyで実行する方法を試してみました。 マルチプロセスだとinput pluginからout put pluginに渡すrouter.emit_streamがうまく機能しなかったためで…

DigdagのPythonオペレータでPipenvを使う

DigdagのPythonオペレータでPipenvで作ったpython環境を使うようにしました。Dockerfileは次の通りです。 FROM python:3 # use pipenv command in digdag python operator RUN mkdir -p /var/lib/python WORKDIR /var/lib/python RUN pip3 install pipenv CO…

Validation備忘録

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 ノートブックを使った開発

Apache Beamノートブックからパイプラインを作ってみました。単純にGCSからファイルを取得し文字数を計算するパイプラインとなります。所感としてはとっても使いやすかったです。JavaだとEclipseを使うことになりますが、データの収集からデバッグまでノート…

Cloud FormationでImage Builderを使ってAMI を自動生成する

Cloud Formationを使ったAWS Image Builderの使い方です。元々RedashのAMIを使っていましたが、環境変数のファイルを変えて再度コンテナをビルドした際AMI側で行ってるビルド処理と重なってしまうせいか、メッセージキューのceleryが動かなくなってしまう事…

Cloud LoggingでBigQueryにシンクしたカンマ区切りのデータをスキーマ単位で分割する

アプリケーションのログCloud Loggingに出力してますがBigQuerで扱いたかったので整形しました。1カラム(jsonPayload.message)に次のような形でデータが入っています。 col_1: value_1, col_2: value_2, col_3: value_3, col_4: value_4 配列にして要素を取…

BigQueryの個人情報にポリシータグによるカラムレベルのアクセス制御を適用したまま、利用者にマスクしたカラムの閲覧権限を与える方法

本記事はZOZOテクノロジーズ #1 Advent Calendar 2020 - Qiita 25日目の記事です。本記事ではBigQueryにある個人情報に対してカラムレベルのアクセス制御を行うポリシータグを付与したまま、利用者にマスク処理したカラムの閲覧権限を与える方法についてご紹…

Data CatalogにオンプレDBのスキーマを同期させて、バッチ・ストリーミングデータ基盤(BigQuery)のスキーマ反映を自動化する

本記事はZOZOテクノロジーズ #1 Advent Calendar 2020 - Qiita 24日目の記事です。バッチ方式の日次データ基盤とストリーミング方式のリアルタイムデータ基盤のスキーマ反映でData Catalogがどのように役立つのか概要も踏まえてご紹介できればと思います。後…

データ基盤におけるBigQuery Flex Slots導入メリットとオンデマンド自動切り替えの必要性

本記事はZOZOテクノロジーズ #1 Advent Calendar 2020 - Qiita 22日目の記事です。 Flex Slotsの概要や導入のメリット、データ基盤における活用用途をご紹介できればと思います。 また、Flex Slotsの購入が失敗した際にオンデマンドに自動で切り替える必要性…

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

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