◾️はじめに Snowflake で Apache Iceberg でサポートされているらしいので まずは、Apache Icebergについて調べてみた 目次 【1】Apache Iceberg 1)テーブル形式(Table Format)とは? 2)クラウドサービスのサポート状況 【2】歴史 1)背景 - Hive/H…
◾️はじめに 既存システムのコード調査をしてた時に CASCADE って見慣れないキーワードを見たのでメモ。 はじめ、大したことなさそうなので、記事にするか迷ったが、 このオプションについて、さまざまなDBでサポートされているが DBごとによって仕様やデフォ…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/06/07/230713 の調査の一環として、 Pythonでs3上のPandasファイルをダウンロードせずに参照する方法を Github Copilotに聞いたところ、「s3fs」を教えてくれたので メモってみた 目次 【1】s3fsラ…
◾️はじめに datadog の Array processor を使ったので、メモ。 目次 【0】Array processor / 配列プロセッサー 【1】Select value from a matching element (一致する要素から値を選択) 【2】Compute the length of an array (配列の長さ) 【3】Append a…
◾️はじめに Snowflakeでトラブルがあったのでメモ。 以下のサイトが非常にいい記事で助かった。 https://zenn.dev/indigo13love/articles/be2a44901cc0af 目次 【1】トラブル概要 1)エラーになるSQL例 2)エラーにならなかったSQL例 【2】エラー内容 【…
◾️はじめに 小ネタ。 調査するSQLで可変部分があって、 こちょこちょ直すとミスしやすいと思ったので 変数化したので、ちょっとメモっておく。 もう記憶の彼方になってしまったのだが、 過去記事を整理してたら、IDENTIFIERってのもあったので 以下の関連記…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/04/14/145556 https://dk521123.hatenablog.com/entry/2025/02/14/200308 で、Datadogのpipeline(パイプライン)について扱った。 久しぶりに、datadog dashboard を触って、意図通りに表示されなか…
◾️はじめに 今更ながら、Pythonのリスト内包表記(List comprehensions) について扱う。 目次 【1】リスト内包表記(List comprehensions) 1)例 【2】リスト内包表記の種類 1)配列(list) 2)集合(set) 3)辞書(dict) 【3】リスト内包表記の…
◾️はじめに 少し作業に余裕が出てきて、docker での警告を見てみたら 勉強になったのでメモ。 学べたこと * Orphan containers(孤立したコンテナ)および「--remove-orphans」オプション * Dockerのプロジェクト名 * 「to avoid potential confusion」って…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/05/26/132317 の続き。 dbtのsnapshot機能の座学はわかったので 今回は、dbt snapshotコマンドを実行して Hello world的なことをやってみる 目次 【1】前提条件 1)開発環境 【2】Hello world 0…
◾️はじめに 病院の待ち時間で、暇だったので 前から気になっていた「dbt snapshot」について調べていたら、 自分がイメージしている機能とは違っていた。 また、結構知らないこと(例えば、SCD(Slowly Change Dimensions)など) があったので、メモしておく …
◾️はじめに https://dk521123.hatenablog.com/entry/2025/05/22/143541 の続き。 チャット形式でのGitHub Copilotを試せたので、 今回は、よくある「IDE での使用」VS codeを試してみる 目次 【1】サポートIDE 【2】サポート言語 【3】環境設定 【4】使…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/05/22/143541 で、GitHub Copilotについて扱ったが、 早速、GitHub Copilot chat で、 以前から発生していたエラー「Cross-db references not allowed in postgres」 について聞いてみたら、素晴らし…
◾️はじめに 現場で、GitHub Copilot を使えるようになったので、 調べてみた 目次 【1】GitHub Copilot 1)類似サービス 【2】機能 1)補足:簡単に試してみたい場合 【3】使用場所 【4】料金 1)個人向け 2)Organization 3)Enterprise 【5】実…
◾️はじめに 小ネタ。 友人と飲みに行った時にSQLの質問されて 試しにやってみたら、思ったより勉強になった。 そのついでに出てきた、ゼロ埋めをメモっておく 目次 【1】ゼロ埋め 方法1:TO_CHAR+FM 接頭辞 を使う 方法2:LPAD を使う 【2】サンプル 例…
◾️はじめに 小ネタ。 前から気になっていた dbt の「+ prefix (e.g. +materialized)」 について、メモっておく 目次 【1】+ prefix 【2】目的1:設定とリソースパスを明確するため 1)補足:必須ではなく推奨レベル 【3】目的2:辞書型入力時 例1: p…
◾️はじめに https://dk521123.hatenablog.com/entry/2021/11/16/231010 でやっていたアクセス制御だが、 DACとかRBACとか色々整理できていなかったので 整理していく 目次 【0】Snowflakeアクセス制御の種類 【1】DAC (Discretionary Access Control) 【2…
◾️はじめに 今回は、dbt の config について扱う 目次 【1】config 1)profiles.yml との住み分け 【2】configの設定方法 1)config() での設定 2)models/properties.yml での設定 3)dbt_project.yml での設定 【3】configの設定内容 1)Snowflake…
◾️はじめに dbt の target について取り扱う 目次 【1】target 1)Common 2)Snowflake 3)Postgres/Redshift 【2】profiles.yml との関係 1)サンプル 【3】サンプル 例1:config.enabled + target.type でDBごとで切り替える 【1】target * ウェ…
◾️はじめに dbtの変数 var についてトラブルがあって 調べてみたのでまとめておく。 その中で、env_var()ってのも知ったので ついでにメモっておく 目次 【1】変数 - var() 1)参照方法 2)設定方法1 - dbt_project.ymlで設定 3)設定方法2 - コマンド…
◾️はじめに https://dk521123.hatenablog.com/entry/2023/06/13/000000 の続き。 SnowflakeのAUTO_SUSPENDってのを知ったのでメモ。 目次 【1】AUTO_SUSPEND 1)公式ドキュメント 【2】Snowflakeのコスト改善案:AUTO_SUSPENDを下げる 【3】AUTO_SUSPEND…
◾️はじめに https://dk521123.hatenablog.com/entry/2025/04/30/223554 の続き。 networkingMode=bridgedを設定したら、非推奨って言われたので 対象方法も含めて調べてみた 目次 【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…