2024-09-01から1ヶ月間の記事一覧
■ はじめに 小ネタ。 Snowflake の パラメータ「ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR」について 知ったので、メモっておく。 目次 【1】導入:Snowflake におけるWebUIのクエリ履歴 【2】ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR 【3】設定方法 【1】導…
■ はじめに dbt で、直接指定する以外で、 DB / Schema / Table を指定する方法を取り上げる。 直接指定するよりも、 ローカル・開発・本番環境などで変更する場合に 役立つこともあるので。 目次 【1】DB / Schema を指定する方法 1)profiles.yml で指定…
■ はじめに Local開発環境はPostgreSQLで 本番環境はSnowflakeで DB(DWH)間には、DBTで吸収しているが 時にそれでも違いでエラーになる場合があったので 原因をメモっておく 目次 【0】データ準備 1)PostgreSQL環境 2)使用データ 【1】WHERE句でエイ…
■ はじめに SQLFluff でエラーがあり、他のメンバーが解決してくれたのだが 色々と勉強になったので、トラブルをメモっておく 【1】トラブル概要 SQLFluffでLinter実行後に「エラー内容」が表示 【2】エラー内容 ConfigLoader.get_global() is deprecated,…
■ はじめに https://dk521123.hatenablog.com/entry/2024/08/11/123351 で、以前、git diffコマンドを利用して、 変更されたファイルだけLinterに書けるといった Github Actionsを書いてみた。 で、今日、削除したファイルもそのままLinterに書けてしまって…
■ はじめに システムのマイグレーションで テーブル差分を調査する必要ができたので そのやり方を調べてみた 目次 【0】データ準備 1)使用データ 【1】方法1:差集合 EXCEPT / MINUS 1)サンプル 【2】方法2:LEFT OUTER JOIN 1)サンプル 【0】デ…
■ はじめに 他メンバーのPythonコードを見ていて、 ~~~ paginator = client.get_paginator('list_objects_v2') ~~~ ってでてきて、なんだこれ?ってなったので 調べてみた。 目次 【1】Paginators を知る前に 【2】Paginators 【3】サンプル 例1:Hello …
■ はじめに Snowflakeで管理しているテーブルのIDに「"123401"」のように ダブルクォーテーションの囲み文字が混じっていた。 除去したいし、そもそも、今更ながら、 シングル・ダブルクォーテーションの違いとか あいまいだったので、その周辺の知識を調べ…
■ はじめに https://dk521123.hatenablog.com/entry/2023/01/16/000000 https://dk521123.hatenablog.com/entry/2024/09/12/003814 で、SQLの集合演算について、扱った。 今回は、SQLの集合演算を利用して、 delete + insert 後のデータ確認してみる。 ラン…
■ はじめに 小ネタ。 Snowflake の NULL の扱いについて、メモっておく 目次 【1】IFNULL 【2】NULLIF 【3】NULLIFZERO 【4】EQUAL_NULL 【5】IS_NULL_VALUE 【6】COALESCE 【1】IFNULL -- expr1 が NULL の場合は、 expr2 を返す -- それ以外の場合…
■ はじめに https://dk521123.hatenablog.com/entry/2023/01/16/000000 https://dk521123.hatenablog.com/entry/2024/09/12/003814 で、SQLの集合演算の中で 積集合(共通部分の算出)する際の INTERSECT を行うのだが 一度もちゃんと取り上げていなかったの…
■ はじめに Snowflakeでトラブルシューティングしたので、メモ。 【1】トラブル概要 以下「実行したSQL」のように CREATE TABLE ... CLONE でテーブルのバックアップを試みたところ、 以下「【2】エラー内容」が発生した。 実行したSQL CREATE TABLE demo_…
■ はじめに https://dk521123.hatenablog.com/entry/2023/01/16/000000 で、SQLの一般の集合演算について触れた。 今日、Snowflake 内に格納されているデータを検証するために 差集合を使ったので、その際のことなどを纏めておく 目次 【0】Snowflake の 集…
■ はじめに dbt を解析しなくてはならず、その中で if文で分岐している箇所があったので それに付随するTipsなどをまとめておく 目次 【1】if文 【2】関連するDBTマクロ 1)is_incremental() 2)load_relation 3)run_query() 【1】if文 * 基本、Pytho…
■ はじめに 動的なdbt 実行時でのトラブルシュートを徐々に記録しておく 目次 【1】Airflow + dbt でエラー「Task exited with return code -9」 【2】エラー「'>' not supported between instances of 'Table' and 'int'」 【1】Airflow + dbt でエラー…
■ はじめに Parquet ファイルを扱うことになり、テストデータを作りたいので Pythonであれば、Pandas でParquet を扱うのが一番楽そうなので 個別にまとめておく 目次 【1】インストール 【2】Parquet の書き出し・読み出し 1)出力・書き出し 2)入力・…
■ はじめに https://dk521123.hatenablog.com/entry/2023/03/18/034704 の続き。 正規表現に関して、Scalaのライブラリは使えなさそうなので Javaのライブラリで実装してみる 【1】サンプル 例1:ファイル名に付加されている日付を取得する import java.ut…
■ はじめに dbt の rows_affected を1日中調査してたので 徐々に纏めておく。 目次 【1】rows_affected 【2】Snowflake におけるrows_affected 2)トラブル:CREATE TABLE ... AS SELECT の場合、rows_affected=1を返す 【1】rows_affected * 実行された…