Snowflake

【Snowflake】Snowflake ~ Removeコマンド ~

■ はじめに https://dk521123.hatenablog.com/entry/2022/07/04/172738 の続き。 Snowflakeで実行に失敗した場合、 再度実行するのに、冪等性(べきとうせい)を保ちたい。 で、Data Unload する際に、前の実行結果を削除するために 使用する Removeコマンド…

【Snowflake】Snowflake ~ 基本編 / CREATE・ALTER TABLE ~

■ はじめに Snowflake の Table定義 (具体的には default値を変更) を変更する 必要ができたので、予習をしておく。 => 調べた結果、SnowflakeのALTER TABLEでは、 default値を変更は対象外だった、、、(後述参照) => OR REPLACE 使ってお茶を濁そうかなっ…

【Snowflake】Snowflake ~ 日時関連 / 日時取得関数 ~

■ はじめに https://dk521123.hatenablog.com/entry/2022/06/17/113003 の続き。 上記で、Snowflakeに 日時について扱ったが、 current_date() / sysdate() で結構、色々ハマったので、 復習も兼ねて情報を整理する。 目次 【1】現在日時を返す関数 1)CUR…

【Snowflake】Snowflake ~ 基本編 / ステージ ~

■ はじめに いまさらだが、Snowflake の ステージ (Stage) を取り扱う 目次 【1】ステージ (Stage) 1)内部ステージ 2)外部ステージ 【2】ステージに関する主なSQL文 1)CREATE IF NOT EXISTS 2)CREATE OR REPLACE 3)SELECT 4)COPY INTO - SELEC…

【Snowflake】権限トラブル時のTips

■ はじめに https://dk521123.hatenablog.com/entry/2022/08/02/090439 https://dk521123.hatenablog.com/entry/2022/08/18/120935 で、Snowflakeの権限周りのトラブルについて扱ったが、 今後も同じようなトラブルがありそうで、 その際に原因を調べるため…

【Snowflake】【トラブル】エラー「<Object> does not exist or not authorized」時の対応

■ はじめに Snowflake で権限周りのエラーに遭遇したのでメモ。 原因が別の2ケースについて、あげておく。 目次 【1】例1:エラー「Table does not exist or not authorized」時の対応 1)トラブル概要 2)エラー内容 3)原因 4)解決案 【2】例2:…

【Snowflake】Snowflake ~ GET_DDL ~

■ はじめに 小ネタ。 Snowflakeにおいて、開発環境のテーブル定義が古かったが、 DDLが管理されてなかった。 そのため、Snowflake でテーブルをExportするやり方を調べた。 今後も使いそうだし、 テーブル以外にもFile Formatなどにも使えるので メモってお…

【Snowflake】【トラブル】エラー「Insufficient privileges to operate」時の対応

■ はじめに Snowflake で、DROPなどのSQLを実行した際に ~~~~ SQL access control error: Insufficient privileges to operate on xxxx ~~~~ が表示することが何度かあり、対応方法を結構忘れてしまうので、 備忘録としてメモしておく。 目次 【1】エラー内…

【Snowflake】Snowflake ~ Merge Into ~

■ はじめに Snowflake の Merge Into について扱う。 目次 【1】Merge Into 【2】構文 【3】サンプル 【1】Merge Into * 2番目のテーブルまたはサブクエリの値に基づいて、 テーブルの値を挿入、更新、削除 https://docs.snowflake.com/ja/sql-reference…

【Snowflake】Snowflake ~ File Format ~

■ はじめに Snowflake で File Format (ファイルフォーマット) を 扱うことになったので、メモしておく 目次 【1】CREATE FILE FORMAT 1)サンプル 【2】確認 方法1)SHOW FILE FORMATS 方法2)DESCRIBE FILE FORMAT <name> 方法3)SELECT * FROM FILE_FORMA</name>…

【Snowflake】Snowflakeアンロード の 使用上の注意

■ はじめに https://dk521123.hatenablog.com/entry/2022/07/04/172738 で行ったSnowflakeのデータ アンロード で、 使用していて、ちょこちょこ気になることが出てきたので まとめておく。 目次 【0】公式ドキュメント「データのアンロードに関する考慮事…

【Snowflake】Snowflake ~ データ アンロード ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/11/15/221245 で、Snowflake の データロードについて扱ったが、 今回は、業務でデータアンロード について扱いそうなので 復習も兼ねて、まとめておく。 目次 【1】アンロード(Unload)とは? 【…

【Snowflake】Snowflake ~ ストレージ統合 ~

■ はじめに Snowflakeのストレージ統合(Storage Integration)について 予習をする 目次 【1】ストレージ統合(Storage Integration) 【2】利点 【3】基本操作 1)ストレージ統合作成 2)ストレージ統合確認 3)ストレージ統合の一覧表示 【4】権限…

【Snowflake】Snowflake ~ テストデータ作成 / generator ~

■ はじめに Snowflake の generator() ってメソッドで、 テストデータを簡単に作れるって聞いたので調べてみた。 調べてみて generator() だけでなく、 他のメソッドと組み合わせる必要があるので、それらもまとめてみる。 Snowflakeに関して、調べてみたも…

【Snowflake】Snowflake ~ 日時関連 ~

■ はじめに Snowflake の 日時(日付、時刻含む)について 少しづつだが、まとめておく。 目次 【1】日時(日付、時刻含む)のデータ型 【2】現在日時を返す関数 【3】日時(日付、時刻含む)の変換 1)キャスト 2)DATE_FROM_PARTS関数 【4】日時の計…

【SQL】複合キーの重複データを取得することを考える

■ はじめに Snowflakeのデータ取り込みで、 重複データの調査を依頼されたのでメモ。 【0】お題 定義としては、複合キーで制約していないが 運用としては、重複がない複合キーとして 使用しているテーブルに関する重複データを取得する 【1】関連するSQL …

【Snowflake】Snowflake ~ エラー時の解析方法 ~

■ はじめに 小ネタ。 AWS GlueからSnowflakeにクエリを実行した際に エラーになった時の解析について、学んだのでメモしておく 目次 【1】プログラムなどから実行した際の解析方法 【2】Tips 【3】使用上の注意点 1)保持期間は過去14日間 2)リロード…

【Snowflake】Snowflake ~ GRANT OWNERSHIP ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/11/16/231010 で、アクセス制御で少し触れた GRANT OWNERSHIP を使って 所有者の変更したので、メモしておく 目次 【1】GRANT OWNERSHIP 1)オプション「[ REVOKE | COPY ] CURRENT GRANTS」 補足…

【Snowflake】Snowflake ~ SHOW / DESCRIBE ~

■ はじめに Snowflake で、「show users」や「show roles」 などを 使ったので、メモしておく。 ついでに、DESCRIBE に関してもメモ。 目次 【1】SHOW <オブジェクト> 1)SHOW USERS 2)SHOW ROLES 3)SHOW GRANTS 4)SHOW TABLES 【2】DESCRIBE <オブ…

【Snowflake】【トラブル】エラー「Failed to cast variant value "" to XXX」時の対応

■ はじめに https://dk521123.hatenablog.com/entry/2021/12/15/162658 で少し触れているのだが、 エラー「Failed to cast variant value "" to TIMESTAMP_NTZ」などの 例外が発生したので、その際に行った対応策をメモしておく。 目次 【1】現象詳細 1)…

【Snowflake】Snowflake ~ 基本編 / データ型 ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/12/15/162658 の続き。 データ型で「VARIANT」とかでてきたので 今回は、Snowflakeのデータ型について、扱う。 目次 【0】Snowflake で扱うデータ型 1)サポートされていないデータ型 【1】数値デ…

【Snowflake】Snowflake ~ 基本編 / キャスト ~

■ はじめに Snowflake における データ型 の キャスト(Cast)について扱う 目次 【0】Snowflakeのキャストの仕方 【1】CAST 【2】:: 演算子 【3】TO_ データ型 【4】TRY_CAST 【5】TRY_TO_ データ型 【0】Snowflakeのキャストの仕方 snowflake での…

【Snowflake】Snowflake ~ 基本編 / ゼロコピークローン ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/11/02/130111 https://dk521123.hatenablog.com/entry/2021/11/22/212520 の続き。 Snowflake の特徴の一つでもある「ゼロ コピー クローン」について扱う。 目次 【1】ゼロコピークローン 【2】構…

【Snowflake】Snowflake ~ 入門編 / Hello world ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/11/02/130111 の続き。 既に出来合いのシステムの Snowflake を触りだしたのだが、 やっぱり、ちゃんと学びたいと思った。 Snowflakeは、30日間無料トライアルでの使用があるので 基本的な操作をメモ…

【Snowflake】Snowflake ~ 基本編 / アクセス制御 ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/11/02/130111 https://dk521123.hatenablog.com/entry/2021/11/22/212520 https://dk521123.hatenablog.com/entry/2021/11/15/221245 の続き。 今回は、Snowflake の ロールや権限などのアクセス制御…

【Snowflake】Snowflake ~ 基本編 / データロード ~

■ はじめに https://dk521123.hatenablog.com/entry/2021/11/02/130111 https://dk521123.hatenablog.com/entry/2021/11/22/212520 の続き。 Snowflake を触わる機会があった。 主に、データロードまでやったのだが そこにいきつくまでに、色々なことを学べ…

【Snowflake】Snowflake ~ 基礎知識編 ~

■ はじめに Snowflake (スノーフレイク) を扱うことになったのでメモ。 目次 【1】Snowflake 【2】特徴 【3】構成 / アーキテクチャ 1)ストレージ層 - Storage 2)コンピューティング層 - Compute 3)サービス層 - Services 【4】キャッシュ 1)ク…

【SQL】 LIMIT ~ 出力する行数を制限する ~

【1】LIMIT * 出力する行数を制限する * PostgreSQL や Snowflake でも使えるみたい 【2】構文 SELECT [項目1] (, ...) FROM [テーブル名] LIMIT ([開始位置(行数],) 取得する行数 【3】サンプル SELECT * FROM user LIMIT 5 1)出力結果 "1" "1" "Kim"…