Snowflake

【Snowflake】Snowflake ~ Time Travel関連のSQL構文 ~

◾️はじめに https://dk521123.hatenablog.com/entry/2025/08/31/005438 の続き。 今回は、Time Travel関連のSQL構文である AT | BEFORE 句やUNDROP文などを扱う 目次 【1】AT | BEFORE 句 1)使用例 【2】UNDROP [オブジェクト] 1)構文 2)使用例 3)…

【Snowflake】Snowflake ~ Time Travel / Fail-safe ~

◾️はじめに * Snowflakeで誤操作した場合の復元方法を学ぶ 目次 【1】Snowflake Time Travel 1)保持期間 2)復元方法 【2】Snowflake Fail-safe 1)保持期間 2)復元方法 3)使用上の注意:一時テーブル - TRANSIENT 【1】Snowflake Time Travel * …

【Snowflake】Snowflake ~ パイプ演算子 / ->> ~

◾️はじめに 小ネタ。 Snowflake の パイプ演算子(Pipe operator; ->>) を 教えてもらったので、メモしておく 目次 【1】パイプ演算子(Pipe operator; ->>) 【2】サンプル 例1:show tables の結果を更に絞る 【1】パイプ演算子(Pipe operator; ->>) *…

【Snowflake】Snowflakeでエラー「Expression type does not match column data type」が表示

◾️はじめに 原因はエラー内容ですぐに解決できたが いまいち、納得のいく記述がなかったので 現象自体をメモしておく 【1】トラブル概要 以下のINSERT SELECT 文を実行したところ、 エラー「Expression type does not match column data type」 が表示され…

【Snowflake】Snowflake x Iceberg 〜 入門編 〜

◾️はじめに https://dk521123.hatenablog.com/entry/2025/06/18/143804 の続き。 前回は、Apache Icebergについておおよそ把握できたので 今回は、Snowflake内でIcebergを作ってみる => Snowflakeの公式ドキュメントがよくできているので、結構簡単にできる …

【Snowflake】Snowflake x Iceberg 〜 基礎知識編 〜

◾️はじめに Snowflake で Apache Iceberg でサポートされているらしいので まずは、Apache Icebergについて調べてみた 目次 【1】Apache Iceberg 1)テーブル形式(Table Format)とは? 2)クラウドサービスのサポート状況 【2】歴史 1)背景 - Hive/H…

【Snowflake】【トラブル】エラー「Invalid UTF8 detected while decoding 'XXX'」表示

◾️はじめに Snowflakeでトラブルがあったのでメモ。 以下のサイトが非常にいい記事で助かった。 https://zenn.dev/indigo13love/articles/be2a44901cc0af 目次 【1】トラブル概要 1)エラーになるSQL例 2)エラーにならなかったSQL例 【2】エラー内容 【…

【Snowflake】Snowflake 〜 SET / 変数定義 〜

◾️はじめに 小ネタ。 調査するSQLで可変部分があって、 こちょこちょ直すとミスしやすいと思ったので 変数化したので、ちょっとメモっておく。 もう記憶の彼方になってしまったのだが、 過去記事を整理してたら、IDENTIFIERってのもあったので 以下の関連記…

【Snowflake】Snowflake 〜 アクセス制御種類 〜

◾️はじめに https://dk521123.hatenablog.com/entry/2021/11/16/231010 でやっていたアクセス制御だが、 DACとかRBACとか色々整理できていなかったので 整理していく 目次 【0】Snowflakeアクセス制御の種類 【1】DAC (Discretionary Access Control) 【2…

【Snowflake】Snowflakeのコスト改善 ~ AUTO_SUSPEND ~

◾️はじめに https://dk521123.hatenablog.com/entry/2023/06/13/000000 の続き。 SnowflakeのAUTO_SUSPENDってのを知ったのでメモ。 目次 【1】AUTO_SUSPEND 1)公式ドキュメント 【2】Snowflakeのコスト改善案:AUTO_SUSPENDを下げる 【3】AUTO_SUSPEND…

【Snowflake】Snowflake と PostgreSQL の違い 〜 SQL / 日時 〜

◾️はじめに https://dk521123.hatenablog.com/entry/2024/09/28/212432 で、Snowflake と PostgreSQL の違いについて扱った。 その際に、Local開発環境はPostgreSQLで 本番環境はSnowflakeで DB(DWH)間には、DBTで吸収していると書いたのだが できれば、DB…

【Snowflake】Snowflake ~ TABLE(RESULT_SCAN(LAST_QUERY_ID())) ~

◾️はじめに 小ネタ。 Snowflakeの SELECT ... FROM TABLE(RESULT_SCAN(LAST_QUERY_ID())) について学んだので、メモっておく。 知っておくと、Snowflakeでのエビデンスや調査のTipsとして役立ちそう。 後日談:もっと簡単なのが出た。詳細は以下の関連記事を…

【Snowflake】Streamlit in Snowflake ~ 入門編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2024/12/11/212315 でも触れたが、Streamlit in Snowflake を触ってみた。 目次 【1】Streamlit in Snowflake 【2】用途 【3】使用上の注意 1)接続がアクティブだとその分だけお金がかかる 2)機能…

【Snowflake】エラー「Window function appears outside of SELECT, QUALIFY...」が表示

■ はじめに Snowflake で Windows関数を使った際のトラブルシュートをメモ。 【1】トラブル概要 Snowflake で Windows関数「ROW_NUMBER() OVER PARTITION BY」を使った際に 以下「エラー内容」が表示してしまう 1)エラーが発生したSQL SELECT * FROM ( --…

【Snowflake】エラー「String 'XXXXX...' is too long and would be truncated」が発生

■ はじめに Snowflake で エラーがあったので 原因とトラブルシュートを書いておく 【1】現象 Snowflake で、 INSERT文で以下「【2】エラー内容」が表示 発生したSQL例 CREATE OR REPLACE TABLE demo_table ( ... comment VARCHAR(100) DEFAULT NULL, ... …

【Snowflake】Snowflake ~ Timezone ~

■ はじめに https://dk521123.hatenablog.com/entry/2024/10/09/155708 で、以下「SQL文」でトラブルシュートしていたのだが、 QUERY_HISTORYビューのSTART_TIMEとEND_TIME(特にSTART_TIME) の時間帯が全く身に覚えない時間帯で実行されていて調べてみたら…

【Snowflake】Snowflake ~ QUERY_HISTORY ビュー ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/08/03/000817 で、Snowflakeのトラブルシューティングのための統計情報を取得する方法を 扱っていたが、 今日、QUERY_HISTORY ビューを使って、トラブルシュートしたので 改めて、別冊で扱ってみた。…

【Snowflake】Snowflake ~ SELECT ... EXCLUDE ~

■ はじめに 小ネタ。 最近小ネタばっかだが、、、 Snowflake の SELECT ... EXCLUDE が何気に便利だったので メモしておく。 目次 【1】SELECT ... EXCLUDE 【2】利点 【3】利用例 1)CREATE TABLE SELECT で利用 【1】SELECT ... EXCLUDE * EXCLUDEで…

【Snowflake】Snowflake ~ ENABLE_UNREDACTED_QUERY_SYNTAX_ERROR ~

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

【Snowflake】Snowflake と PostgreSQL の違い

■ はじめに Local開発環境はPostgreSQLで 本番環境はSnowflakeで DB(DWH)間には、DBTで吸収しているが 時にそれでも違いでエラーになる場合があったので 原因をメモっておく なお、別記事で以下もある。 Snowflake と PostgreSQL の違い 〜 SQL / 日時 〜 …

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

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

【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 を返す -- それ以外の場合…

【トラブル】【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 ~ Snowflakeテーブル ~

■ はじめに dbt で Snowflake の テーブルを扱うことになり Transientテーブルを永続テーブルに切り替える必要ができたので 調査してみた なお、Transient テーブルなどのSnowflakeのテーブルについて 以下の関連記事を参照のこと Snowflake ~ 基本編 / テ…

【Snowflake】Snowflake ~ IDENTIFIER ~

■ はじめに 小ネタ。 https://dk521123.hatenablog.com/entry/2024/02/19/152927 の作業時に、Snowflake の IDENTIFIER を習ったのでメモ。 目次 【1】IDENTIFIER 【2】SET 【3】サンプル 例1:変数を定義して利用する 【1】IDENTIFIER * リテラルまた…

【Snowflake】Snowflake ~ Data Sharing ~

■ はじめに 業務で、Snowflake の Data Sharing (データ共有)について 扱う機会がでたので、ちょこっと調べてみた。 目次 【1】Snowflake Data Sharing 【2】主な操作 1)CREATE SHARE 2)SHOW SHARES 【3】共有方法 1)共有へのデータベースロールの…

【Snowflake】Snowflake ~ Pythonでクエリ実行 ~

■ はじめに Python で Snowflake の 非同期クエリを実行することになったので これを機にPython用Snowflakeコネクタを学んでみる 目次 【1】Python用Snowflakeコネクタ 【2】環境設定 【3】同期クエリ実行 1)サンプル 2)関連するAPI 【4】非同期クエ…

【Snowflake】Snowflakeのパフォーマンス改善 ~ 基礎知識編 ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/03/04/222610 の続き。 今回は、Snowflakeのパフォーマンスのキーとなる 「プルーニング」、「マイクロパーティション」、「スピル」 について扱う 目次 【1】プルーニング(Pruning) 1)どうやっ…

【Snowflake】Snowflakeのパフォーマンス改善 ~ クエリプロファイル / 実行計画 ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/09/05/161817 において、Mergeでパフォーマンス悪化した際に クエリプロファイルの「JoinFilter」と「JoinKey」とか学んだので 徐々にメモしていく 目次 【1】クエリプロファイル 【2】実行計画 1…