dbt
Google Cloud には権限借用( Impersonation )という仕組みがあり、これを使うと、「プリンシパル(ユーザーアカウントやサービスアカウント)が一時的に他のサービスアカウントになりすまして Google Cloud を操作する」ということができる。これにより、…
dbt では SQL 以外に Python でも model を書くことができるが、 Python コードの処理は dbt が行うわけではない。 外部の実行環境に Python コードを送信し、そこで処理を行う。 データプラットフォーム毎に「外部の実行環境」が用意されており、 BigQuery …
BigQuery にはポリシータグという仕組みがあり、これを使うことで BigQuery のリソースに対してきめ細やかなアクセス制御を行うことができる。 この記事では、ポリシータグを使って任意のカラムに対するアクセス制御を実現する方法を紹介する。 ポリシータグ…
dbt には Python model という仕組みがある。これを使うことで SQL ではなく Python で model を書くことができ、SQL では不可能な処理が可能になる。 データウェアハウスとして BigQuery を使っている場合、 Dataproc を利用して Python model を動かすのが…
Google Cloud のクライアントライブラリを使うと API を通して Google Cloud のリソースにアクセスすることができる。 そして多くの場合どのプロジェクトのリソースにアクセスするのかを指定する必要があるが、その指定方法は複数ある。 この記事では、プロ…
dbt でデータウェアハウスとして BigQuery を使う際、ローカル開発においては OAuth 方式を使うことが推奨されている。 そしてその場合はgcloud auth application-default loginコマンドを実行する必要がある。 確かにこのコマンドを実行すると BigQuery と…
dbt を使おうとすると、profile や target、config、property など、様々な概念が出てくる。 それらをあまり理解できていなくても、何となく動かすことはできるかもしれない。 しかし、これらの概念を理解していないと、意図した通りに動かしたり他者が記述…