BQ FUN Slackを立ち上げた話

Naofumi Yamada

Naofumi Yamada

Data Engineer

BigQuery Advent Calendar 2020最終日、25日目のポエムです。

私は今回初めて、アドベントカレンダーを立てる経験をしましたが、25日埋まるBigQueryの技術そのもの、取り巻くコミュニティ、どちらも素晴らしいものだと思いました。実際立てなければ、25記事が埋もれていたのかと思うと感慨深いです。

Prefect 触ってみた

Naofumi Yamada

Naofumi Yamada

Data Engineer

Prefect 触ってみた#

Airflow のようなワークフローツールで、手軽にタスクやフローが定義できて好いです。 Docker サーバと通信したり、Slack 通知するタスクがあったり、動的 DAG が作れたり、ローカルテストしやすかったりします。

Python 開発環境の Docker 化

Naofumi Yamada

Naofumi Yamada

Data Engineer

Python の環境 / パッケージ管理色々ありすぎ問題#

Python の仮想環境やパッケージ管理周りのツールは種類が多くてどれ使ったら良いか分からないですね。 古参の Pip 派もいれば、安定の Pipenv、toml カッコ良いから Poetry、Pyflow など。

BigQuery テーブル同士の一致判定

Naofumi Yamada

Naofumi Yamada

Data Engineer

はじめに#

テーブルの一致判定のクエリを知りたい の対応記事です。 BigQuery テーブルは、リレーショナルデータベースに比べて、強い制約をかけにくいです。 そのため、テスト時には一致性検証が重要になってくるでしょう。 この記事では、BigQuery テーブル一致性を判定するクエリを紹介します。

AutoML Tables 推論結果データセットの大掃除

Naofumi Yamada

Naofumi Yamada

Data Engineer

やること#

BigQuery にたまった AutoML の推論結果を全部削除する。 BigQuery は、1000 より多くのデータセットがあると、作成が古い順に Web UI から見れなくなる。AutoML の推論結果はデータセットを増やしやすいので、たまにお掃除する。

Stackdriver Logging を用いて BigQuery テーブルの最終参照日を求める

Naofumi Yamada

Naofumi Yamada

Data Engineer

やりたいこと#

BigQuery テーブルの最終参照日を求めて、使ってないテーブルを整理したい。 最終更新日はテーブルのメタ情報に載っているが、参照日は載っておらず簡単に見ることはできない。 BigQuery のクエリログが全て載る Stackdriver Logging に集計処理をかけることで求めてみる。

BigQuery で 1 円も溶かさない人の顔 (ZERO BYTE STRUCT を考案した)

Naofumi Yamada

Naofumi Yamada

Data Engineer

この記事は Qiita と同様の内容です。

自分は BigQuery で Extract-Load されたデータを機械学習モデル用に前処理し、テラバイト級の特徴量エンジニアリングを行っています。この記事では、BigQuery のデータ量を一切消費せず、誇張なく 1 円も溶かさない裏技をまとめます(2019/12/18 現在)。 ただし、定額クエリやストリーミングインサートは、本記事の対象外です。

【解決済】Cloud IAM でサービスエージェントから全権限を削除すると見えなくなる

Naofumi Yamada

Naofumi Yamada

Data Engineer

ことの発端#

AutoML Tables のサービスエージェント権限を持つサービスアカウントで、大量に推論してたら、推論がエラーを吐くようになった。 BigQuery ジョブ一覧を除くと以下のようなジョブが大量に失敗していた。