2025-04-01から1ヶ月間の記事一覧
◾️はじめに 仕事で使用しているWindows PCのハードディスクの容量が どんどんなくなり、Virtualbox で動かしているLinuxも だんだん重くなり、色々やってたらぶっ壊れた。 Virtualboxだともう限界そうなので、WSLで環境を作り直すことにする 久しぶりなので…
◾️はじめに https://dk521123.hatenablog.com/entry/2024/07/21/234811 の続き。 今回は、dbt CLI「dbt run-operation」コマンドをメモる。 目次 【1】dbt run-operation 1)構文 【2】オプション 1)--args ARGS 2)--print / --no-print 3)-q, --qu…
◾️はじめに 今回は、dbt Model / Macro内でSQL実行するための関数「run_query」 およびその周辺で使うTipsなどなどについてメモっておく 目次 【1】run_query関数 【2】set関数 設定方法1:set xxx="xxx" 設定方法2:set xxx ... endset 【3】execute変…
◾️はじめに https://dk521123.hatenablog.com/entry/2024/07/21/234811 の続き。 今回は、dbt CLI「dbt show」コマンドをメモる。 目次 【1】dbt show 【2】オプション 1)--inline 2)--limit n 【1】dbt show * 指定したModelや任意のSELECT文の出力…
◾️はじめに https://dk521123.hatenablog.com/entry/2024/07/20/034930 の続き。 Python の dbtRunner を使った簡単なサンプルを作ってみる 目次 【1】前準備 1)SQL 【2】INSERT 1)SQL 2)Pythonコード 【3】SELECT 1)Pythonコード 【1】前準備 *…
◾️はじめに https://dk521123.hatenablog.com/entry/2023/04/25/103533 の続き。 TOMLの記事は、上の記事でまとめようと思ったが 加筆していくと結構膨大になって、 文法もかなり分かっていないことに気がついたので TOMLの文法部分を整理してみた。 特に、T…
◾️はじめに https://dk521123.hatenablog.com/entry/2022/09/01/220643 https://dk521123.hatenablog.com/entry/2023/07/27/000000 の続き。 小ネタ。 https://dk521123.hatenablog.com/entry/2024/12/03/003405 で、業務で制御文字SOH(確かHiveのデフォル…
◾️はじめに https://dk521123.hatenablog.com/entry/2024/09/28/212432 で、Snowflake と PostgreSQL の違いについて扱った。 その際に、Local開発環境はPostgreSQLで 本番環境はSnowflakeで DB(DWH)間には、DBTで吸収していると書いたのだが できれば、DB…
◾️はじめに https://docs.getdbt.com/docs/dbt-versions/core-upgrade/upgrading-to-v1.10 で、dbt v1.10 がBeta版だけどリリースされて 色々調べてたら、以下のサイトが見つかった。 https://github.com/dbt-labs/dbt-core/milestone/91 Githubで「マイルス…
◾️はじめに https://dk521123.hatenablog.com/entry/2023/11/20/230946 で、dbtのSeed(シード)を扱ったが、 今回は、そのSeedのdbt CLIを扱う。 なお、公式ドキュメントは、オプションが見づらい気がする 目次 【1】dbt seed 【2】オプション 1)--sele…
◾️はじめに Python で辞書リストの重複を排除するために 色々調べたら、frozensetってのを使ったのでメモ。 目次 【1】frozenset 1)仕様 【2】用途 1)辞書のキーとして利用 【3】frozensetの利用例:辞書リストの重複排除 1)完全一致で重複排除 2…
◾️はじめに Datadogのpipeline(パイプライン)について 徐々にメモっていく 目次 【1】Pipelineを知る前にdatadogに関する前提知識 【2】Pipeline 1)補足事項 【3】Pipelineの役割 【4】Pipelineの構築 【1】Pipelineを知る前にdatadogに関する前提…
◾️はじめに 現在扱っているテーブル一覧が欲しいってニーズがあり、 dbt model から取得しようとしたら、 dbt list / dot lsコマンドから取得できることが分かったので 調べてみた 目次 【0】何に使える? 【1】dbt list / dbt ls 【2】オプション 1)--…
◾️はじめに 小ネタ。 Snowflakeの SELECT ... FROM TABLE(RESULT_SCAN(LAST_QUERY_ID())) について学んだので、メモっておく。 知っておくと、Snowflakeでのエビデンスや調査のTipsとして役立ちそう。 後日談:もっと簡単なのが出た。詳細は以下の関連記事を…
◾️はじめに datadog の integration (インテグレーション) について 徐々にメモしていく 目次 【1】integration (インテグレーション) 【2】サポートしているintegration 【3】インストール方法 【4】各ライブラリのintegration 1)通知に関するintegra…
◾️はじめに マージでトラブルがあったので、Merge周辺のことを調べてみた 目次 【0】前提知識 1)Squash 2)Rebase 【1】Github の PR のマージ方法 1)Create a merge commit 2)Squash and merge 3)Rebase and merge 【2】メリット・デメリット …
■ はじめに Hive でデータが積み重なるようなテーブル (例えば、ユーザ情報で入会・退会するようなデータ)に対して ユーザの最新/過去直近情報を取得するのに、 ROW_NUMBER + PARTITION BY を使ったので、メモする。 他にも応用が利きそう。 なお、以下の…
◾️はじめに Jinja2の繰り返し(ループ)についてメモ。 目次 【1】for文 【2】ループの制御文 1)break文 2)continue文 【3】loop 1)主なメソッド 2)サンプル 【4】使用上の注意:変数をループする場合の注意点 1)NG例 2)OK例 【1】for文 サン…
◾️はじめに Jinja2の条件分岐についてメモ。 目次 【1】if文 1)サンプル 【2】論理演算子 1)サンプル 【3】三項演算子 1)サンプル 【1】if文 {% if 条件式1 %} {# 条件式1が true なら実行される #} {% elif 条件式2 %} {# 条件式2が true なら実…
◾️はじめに Jinja2で変数が文字列もしくは1要素のタプルの場合、文字列として扱い 1文字づつループされてしまい、その対策として変数をチェックすることを 調べたので、Jinja2の変数全般をまとめてみた 目次 【1】変数定義 【2】変数参照 【3】変数チェ…
◾️はじめに 小ネタ。 dbt の macro を作っていてSyntax errorを回避するために do文(do statement)を使った。 ただ、調べてみてもいい解説しているページが見つからなかったので 自分なりの解釈でまとめてみた 目次 【0】do文の公式ドキュメントの解説 【…
◾️はじめに Label / Selector / Node Selector について、 メモしていく 目次 【1】Label 1)目的 2)サンプル 3)推奨ラベル (Recommended Labels) 4)補足:Annotations 【2】Selector 0)LabelとSelectorの関係 1)Label Selector 2)Node Selec…