30歳からのプログラミング

30歳無職から独学でプログラミングを開始した人間の記録。

dbt

新着順 人気順

権限借用(Impersonation)で dbt や AI 利用時の権限設計の幅を広げる

Google Cloud には権限借用( Impersonation )という仕組みがあり、これを使うと、「プリンシパル(ユーザーアカウントやサービスアカウント)が一時的に他のサービスアカウントになりすまして Google Cloud を操作する」ということができる。これにより、…

dbt を実行しているプロセスで Python model を処理する方法

dbt

dbt では SQL 以外に Python でも model を書くことができるが、 Python コードの処理は dbt が行うわけではない。 外部の実行環境に Python コードを送信し、そこで処理を行う。 データプラットフォーム毎に「外部の実行環境」が用意されており、 BigQuery …

BigQuery ポリシータグによるカラム単位でのアクセス制御と dbt によるポリシータグの付与

BigQuery にはポリシータグという仕組みがあり、これを使うことで BigQuery のリソースに対してきめ細やかなアクセス制御を行うことができる。 この記事では、ポリシータグを使って任意のカラムに対するアクセス制御を実現する方法を紹介する。 ポリシータグ…

dbt の Python model を Dataproc クラスタで実行する

dbt には Python model という仕組みがある。これを使うことで SQL ではなく Python で model を書くことができ、SQL では不可能な処理が可能になる。 データウェアハウスとして BigQuery を使っている場合、 Dataproc を利用して Python model を動かすのが…

Google Cloud クライアントライブラリがアクセスするプロジェクトはどのように決まるのか

Google Cloud のクライアントライブラリを使うと API を通して Google Cloud のリソースにアクセスすることができる。 そして多くの場合どのプロジェクトのリソースにアクセスするのかを指定する必要があるが、その指定方法は複数ある。 この記事では、プロ…

gcloud auth application-default login は何をしているのか

dbt でデータウェアハウスとして BigQuery を使う際、ローカル開発においては OAuth 方式を使うことが推奨されている。 そしてその場合はgcloud auth application-default loginコマンドを実行する必要がある。 確かにこのコマンドを実行すると BigQuery と…

target や config を理解して dbt model の出力先を制御できるようになる

dbt

dbt を使おうとすると、profile や target、config、property など、様々な概念が出てくる。 それらをあまり理解できていなくても、何となく動かすことはできるかもしれない。 しかし、これらの概念を理解していないと、意図した通りに動かしたり他者が記述…