2024-09-01から1ヶ月間の記事一覧

【Snowflake】Snowflake ~ ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR ~

■ はじめに 小ネタ。 Snowflake の パラメータ「ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR」について 知ったので、メモっておく。 目次 【1】導入:Snowflake におけるWebUIのクエリ履歴 【2】ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR 【3】設定方法 【1】導…

【dbt】dbt ~ DB/Schema/Table の指定方法 ~

dbt

■ はじめに dbt で、直接指定する以外で、 DB / Schema / Table を指定する方法を取り上げる。 直接指定するよりも、 ローカル・開発・本番環境などで変更する場合に 役立つこともあるので。 目次 【1】DB / Schema を指定する方法 1)profiles.yml で指定…

【PostgreSQL】Snowflake と PostgreSQL の違い

■ はじめに Local開発環境はPostgreSQLで 本番環境はSnowflakeで DB(DWH)間には、DBTで吸収しているが 時にそれでも違いでエラーになる場合があったので 原因をメモっておく 目次 【0】データ準備 1)PostgreSQL環境 2)使用データ 【1】WHERE句でエイ…

【トラブル】SQLFluffでエラー「ConfigLoader.get_global() is deprecated」が発生

■ はじめに SQLFluff でエラーがあり、他のメンバーが解決してくれたのだが 色々と勉強になったので、トラブルをメモっておく 【1】トラブル概要 SQLFluffでLinter実行後に「エラー内容」が表示 【2】エラー内容 ConfigLoader.get_global() is deprecated,…

【Git】Git ~ git diffコマンド ~

Git

■ はじめに https://dk521123.hatenablog.com/entry/2024/08/11/123351 で、以前、git diffコマンドを利用して、 変更されたファイルだけLinterに書けるといった Github Actionsを書いてみた。 で、今日、削除したファイルもそのままLinterに書けてしまって…

【SQL】SQL ~ テーブル差分を調査することを考える ~

SQL

■ はじめに システムのマイグレーションで テーブル差分を調査する必要ができたので そのやり方を調べてみた 目次 【0】データ準備 1)使用データ 【1】方法1:差集合 EXCEPT / MINUS 1)サンプル 【2】方法2:LEFT OUTER JOIN 1)サンプル 【0】デ…

【AWS】boto3 ~ Paginators ~

AWS

■ はじめに 他メンバーのPythonコードを見ていて、 ~~~ paginator = client.get_paginator('list_objects_v2') ~~~ ってでてきて、なんだこれ?ってなったので 調べてみた。 目次 【1】Paginators を知る前に 【2】Paginators 【3】サンプル 例1:Hello …

【Snowflake】Snowflake ~ 囲み文字の除去 ~

■ はじめに Snowflakeで管理しているテーブルのIDに「"123401"」のように ダブルクォーテーションの囲み文字が混じっていた。 除去したいし、そもそも、今更ながら、 シングル・ダブルクォーテーションの違いとか あいまいだったので、その周辺の知識を調べ…

【SQL】SQL ~ 集合演算の応用 ~

SQL

■ はじめに https://dk521123.hatenablog.com/entry/2023/01/16/000000 https://dk521123.hatenablog.com/entry/2024/09/12/003814 で、SQLの集合演算について、扱った。 今回は、SQLの集合演算を利用して、 delete + insert 後のデータ確認してみる。 ラン…

【Snowflake】Snowflake ~ NULLの扱い ~

■ はじめに 小ネタ。 Snowflake の NULL の扱いについて、メモっておく 目次 【1】IFNULL 【2】NULLIF 【3】NULLIFZERO 【4】EQUAL_NULL 【5】IS_NULL_VALUE 【6】COALESCE 【1】IFNULL -- expr1 が NULL の場合は、 expr2 を返す -- それ以外の場合…

【SQL】SQL ~ INTERSECT ~

SQL

■ はじめに https://dk521123.hatenablog.com/entry/2023/01/16/000000 https://dk521123.hatenablog.com/entry/2024/09/12/003814 で、SQLの集合演算の中で 積集合(共通部分の算出)する際の INTERSECT を行うのだが 一度もちゃんと取り上げていなかったの…

【トラブル】【Snowflake】エラー「Transient object cannot be cloned to a permanent object」時の対応

■ はじめに Snowflakeでトラブルシューティングしたので、メモ。 【1】トラブル概要 以下「実行したSQL」のように CREATE TABLE ... CLONE でテーブルのバックアップを試みたところ、 以下「【2】エラー内容」が発生した。 実行したSQL CREATE TABLE demo_…

【Snowflake】Snowflake ~ 関係演算 / 集合論 ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/01/16/000000 で、SQLの一般の集合演算について触れた。 今日、Snowflake 内に格納されているデータを検証するために 差集合を使ったので、その際のことなどを纏めておく 目次 【0】Snowflake の 集…

【dbt】dbt ~ 条件分岐 ~

dbt

■ はじめに dbt を解析しなくてはならず、その中で if文で分岐している箇所があったので それに付随するTipsなどをまとめておく 目次 【1】if文 【2】関連するDBTマクロ 1)is_incremental() 2)load_relation 3)run_query() 【1】if文 * 基本、Pytho…

【トラブル】【dbt】動的なdbt 実行時でのトラブル

■ はじめに 動的なdbt 実行時でのトラブルシュートを徐々に記録しておく 目次 【1】Airflow + dbt でエラー「Task exited with return code -9」 【2】エラー「'>' not supported between instances of 'Table' and 'int'」 【1】Airflow + dbt でエラー…

【Python】Pandas ~ Parquet ~

■ はじめに Parquet ファイルを扱うことになり、テストデータを作りたいので Pythonであれば、Pandas でParquet を扱うのが一番楽そうなので 個別にまとめておく 目次 【1】インストール 【2】Parquet の書き出し・読み出し 1)出力・書き出し 2)入力・…

【Scala】Scala ~ 正規表現 with Java lib ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/03/18/034704 の続き。 正規表現に関して、Scalaのライブラリは使えなさそうなので Javaのライブラリで実装してみる 【1】サンプル 例1:ファイル名に付加されている日付を取得する import java.ut…

【dbt】Python with dbt ~ rows_affected ~

dbt

■ はじめに dbt の rows_affected を1日中調査してたので 徐々に纏めておく。 目次 【1】rows_affected 【2】Snowflake におけるrows_affected 2)トラブル:CREATE TABLE ... AS SELECT の場合、rows_affected=1を返す 【1】rows_affected * 実行された…