Snowflake

【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】導…

【PostgreSQL】Snowflake と PostgreSQL の違い

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

【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 / SET ~

■ はじめに 小ネタ。 https://dk521123.hatenablog.com/entry/2024/02/19/152927 の作業時に、Snowflake の IDENTIFIER を習ったのでメモ。 ついでに、SET に関してもメモっておく。 (小ネタだったが、書いていく内に思った以上に書く量が多くなってしまっ…

【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…

【Snowflake】Snowflake ~ MERGE の使用上の注意 ~

■ はじめに https://dk521123.hatenablog.com/entry/2022/08/01/132611 の続き。 SnowflakeのMerge文において、 使用した際に文法的に制約があったので、 そのことと回避案をメモしておく 目次 【1】「一致する値」と「一致しない値」で指定できる更新文が…

【Snowflake】指定した日付分アンロードするSQLを生成するPythonコード

■ はじめに テーブル内のデータをアンロードして テストデータを作るって作業をしていて 大分、久しぶりに、 Snowflakeスクリプトを書いたのだが 仕様とか色々大幅にかかりそうな予感を感じているので Pythonコード化して対応しておく 【1】前提条件 * スト…

【Snowflake】Snowflake ~ TAG ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/08/03/000817 で紹介した、Snowflakeのタグ付けについて、 掘り下げてみる 目次 【0】Snowflake のタグ 1)公式ドキュメント 2)用途 【1】タグ作成 【2】使用上の注意 【3】タグを付加させる…

【Snowflake】Snowflake ~ 統計情報 ~

■ はじめに パフォーマンステストで、システムのトータル処理時間を測定する際に Snowflakeの完了時刻を知る必要がある。 そこで、完了時刻などの統計情報について、分かったことを 少しづつだが、まとめていく 目次 【1】GUIから確認するには 【2】コマン…

【Snowflake】Snowflake ~ ストレージ統合の作成手順 ~

■ はじめに 久しぶりに、業務で https://dk521123.hatenablog.com/entry/2022/06/29/221037 でやったSnowflake の ストレージ統合 を使って、 アンロードをやったのだが、結構、ハマったので メモっておく なお、ハマった箇所の一部としては、以下の ステッ…

【Snowflake】Snowflake ~ SEQUENCE ~

■ はじめに 小ネタ。 Snowflake の SEQUENCE について扱う 目次 【1】SEQUENCE 【2】SQL文 1)CREATE 文 2)SHOW 文 3)ALTER 文 4)DROP文 【3】Tips 1)バックアップ&所有権付与 【4】使用上の注意 1)シーケンス作成後、初期値変更不可 2)連…

【Snowflake】【トラブル】エラー「Ownership restriction violation」時の対応

■ はじめに https://dk521123.hatenablog.com/entry/2022/08/02/090439 https://dk521123.hatenablog.com/entry/2023/04/14/151140 に近いのだが、別エラーがでたので、メモ。 【1】トラブル概要 テーブルの所有権を変更するために 以下「実行したSQL」した…

【Snowflake】Snowflake ~ Materialized View ~

■ はじめに https://dk521123.hatenablog.com/entry/2022/10/10/000000 で、Snowflakeのビューをやったが、 Materialized View (マテリアライズドビュー; マテビュー) が ちょくちょくキーワードとしてでてくるので、この機会に 徐々にまとめていく。 ちなみ…

【Snowflake】Snowflake ~ 見積もり・コスト ~

■ はじめに Snowflake のコストの見積もりについて分かったことを纏める 目次 【1】見積もり算出ツール 【2】公式ドキュメント 【3】クレジット 【4】コストを決める3要素 1)コンピューティング 2)ストレージ 3)データ転送 【1】見積もり算出ツー…

【Snowflake】Snowflake ~ キーペア認証 ~

■ はじめに https://dk521123.hatenablog.com/entry/2023/06/07/144114 で、Kafka用Snowflakeコネクタ について扱ったが 必須で「snowflake.private.key (必須)」って項目があり 以下のような説明だった https://docs.snowflake.com/ja/user-guide/kafka-con…

【Kafka】Kafkaコネクタ ~ Kafka用Snowflakeコネクタ ~

■ はじめに 業務で、 Kafka用Snowflakeコネクタ を試すことになったのでメモ。 徐々に書き足していく、、、 目次 【1】Kafkaコネクタ 【2】仕様 【3】設定 1)Kafkaコネクタの種類 2)設定手順 【4】Kafka構成ファイル 1)構成ファイル例 2)Kafka構…

【Snowflake】Snowflake ~ Task ~

■ はじめに Snowflake の タスク(Task) に調べてみた 目次 【1】タスク(Task) 【2】使用上の注意 【3】SQL文 1)CREATE TASK 2)ALTER TASK 3)SHOW TASKS 【4】サンプル 例1:Hello world 【1】タスク(Task) * Snowflakeにおいて、以下を実…

【Snowflake】Snowflake ~ Snowpipe ~

■ はじめに 仕事で、Snowflake の Snowpipe を試しそうなので 予習しておく 目次 【1】Snowpipe 1)公式ドキュメント 【2】SQL文 1)CREATE PIPE 2)SHOW PIPES 【3】使用上の注意 1)推奨ロードファイルサイズ 2)日時関数の使用 3)ファイルの削…

【Snowflake】【トラブル】所有権変更後にエラー「current role has no privileges on it」

■ はじめに Snowflakeでトラブったので、 自戒の意味を込めてもメモ、、、 目次 【1】トラブル内容 1)エラーまでのSQL文 【2】エラー内容 【3】原因 【4】解決案 【5】Tips 1)SHOW GRANTS 2)GRANT 【1】トラブル内容 テーブルの普及作業でゴミが…