■ はじめに
Snowflake で File Format (ファイルフォーマット) を 扱うことになったので、メモしておく
目次
【1】CREATE FILE FORMAT 1)サンプル 2)補足:一時的なファイルフォーマットについて 【2】確認 方法1)SHOW FILE FORMATS 方法2)DESCRIBE FILE FORMAT <name> 方法3)SELECT * FROM FILE_FORMATS 【3】DROP FILE FORMAT 【4】権限付与
【1】CREATE FILE FORMAT
* 「CREATE FILE FORMAT」で独自のファイルフォーマットが定義できる
https://docs.snowflake.com/ja/sql-reference/sql/create-file-format.html
1)サンプル
CREATE OR REPLACE FILE FORMAT demo_format TYPE = CSV FIELD_DELIMITER = ',' COMMENT = 'This is a demo' ;
2)補足:一時的なファイルフォーマットについて
* 一時的なファイルフォーマットについては、特に作成せずに オプション「FILE_FORMAT」で済ますのがいいかも。
例:CREATE STAGE の場合
CREATE OR REPLACE TEMPORARY STAGE sample_stage URL = 's3://your-s3-bucket/demo/sample/' STORAGE_INTEGRATION = sample_integ -- ★ここに注目★ FILE_FORMAT = ( TYPE=CSV FIELD_DELIMITER='\t' SKIP_HEADER=1 FIELD_OPTIONALLY_ENCLOSED_BY='"' )
【2】確認
方法1)SHOW FILE FORMATS
* 「SHOW FILE FORMATS」で一覧表示してくれる * 「SHOW FILE FORMATS LIKE '%xxx%'」などで絞り込み可能
https://docs.snowflake.com/en/sql-reference/sql/show-file-formats.html
方法2)DESCRIBE FILE FORMAT
* 「DESCRIBE FILE FORMAT <name>」で詳細を表示 * 「DESC FILE FORMAT <name>」も可能
方法3)SELECT * FROM FILE_FORMATS
USE DATABASE your_db; USE SCHEMA your_schema; SELECT * FROM "your_db"."INFORMATION_SCHEMA".FILE_FORMATS;
補足:FILE_FORMATS
* 「INFORMATION_SCHEMA」内に、テーブル「FILE_FORMATS」があり そこで管理している模様。
【3】DROP FILE FORMAT
* ファイルフォーマットの削除
https://docs.snowflake.com/ja/sql-reference/sql/drop-file-format.html
【4】権限付与
-- 使用権限付与 GRANT USAGE ON ALL FILE FORMATS IN SCHEMA <your_db>.<your_schema> TO ROLE <your_role>; -- 将来的に作成されるファイルフォーマットに対して使用権限付与 GRANT USAGE ON FUTURE FILE FORMATS IN SCHEMA <your_db>.<your_schema> TO ROLE <your_role>;
https://docs.snowflake.com/ja/sql-reference/sql/grant-privilege.html
関連記事
Snowflake ~ 基礎知識編 ~
https://dk521123.hatenablog.com/entry/2021/11/02/130111
Snowflake ~ 入門編 / Hello world ~
https://dk521123.hatenablog.com/entry/2021/11/22/212520
Snowflake ~ SHOW / DESCRIBE ~
https://dk521123.hatenablog.com/entry/2022/02/24/231532
Snowflake ~ GRANT OWNERSHIP ~
https://dk521123.hatenablog.com/entry/2022/02/25/094250
Snowflake ~ ストレージ統合 ~
https://dk521123.hatenablog.com/entry/2022/06/29/221037
エラー「Insufficient privileges to operate」時の対応
https://dk521123.hatenablog.com/entry/2022/08/02/090439