Skip to main content
Announcements
See why Qlik was named a Leader in the 2024 Gartner® Magic Quadrant™ for Data Integration Tools for the ninth year in a row: Get the report
cancel
Showing results for 
Search instead for 
Did you mean: 
takayuki
Contributor
Contributor

SnowflakeへのデータStoreについて

はじめまして

当方環境ではQlikSenseのデータ接続先としてAWSとSnowflakeを利用しており

既にSnowflakeには接続は確立済みで、Snowflake内のテーブルをQlikSenseで取得できることは確認済みです

 

この度QlikSenseで集計、保持したデータをSnowflakeへStoreしようとしているのですが

コードの記述が分からず質問させて頂きたいと思います

AWS(AmazonS3)であればデータのStoreは

 

Store <テーブル名> into [lib:<接続確立済スペース名>/<AmazonS3対象階層Pass>/<保存するファイル名称>.<拡張子>](<拡張子名>);

→テーブル名はQlikロードスクリプトで保持したStoreしたいテーブルの名称、拡張子はQVD、CSV等

概ね上記のような構成のコードとなっており、問題なく動作させられているのですが

これをSnowflakeで再現しようとした場合は

 

仮にCSVデータをStoreしようとした場合、事前に該当名称のCSVをSnowflakeに保持させ

LIB CONNECT TO '<接続確立済スペース名>';

SQL USE ROLE <Snowflakeロール名>;

Store <テーブル名> into "<データベース名>"."<スキーマ名>"."<対象CSVファイル名>";

となるのかなと思ったのですが、動作しません

 

またCSVではなく、Qlikで保持しているテーブルをCSV形式ではなく

テーブルデータのままSnowflakeに保持させられないかと思ったのですがこの際にも

LIB CONNECT TO '<接続確立済スペース名>';

SQL USE ROLE <Snowflakeロール名>;

Store <テーブル名> into "<データベース名>"."<スキーマ名>"."<テーブル名>";

というコードでできないのかと思ったもののこれもうまくいきません

 

発生したエラーとしましては

 

以下のエラーが発生しました:
No qualified path for file: ***
ここでエラーが発生しました:
Store <テーブル名> into "<データベース名>"."<スキーマ名>"."<テーブル名>";
 
というエラーが返ってくるので、ロールの権限が不足しているのかとは思うのですが
こちらは社内Snowflake管理者に確認中ですが、割と強い権限を付与してくれているらしいので
コード自体にも問題がある可能性を懸念しての質問となります
Storeする為のコード記述自体には問題はないのでしょうか?
1 Solution

Accepted Solutions
hka
Employee
Employee

Snowflakeに直接Storeするのはできないです。

例えば、S3にCSV出力してSnowflakeはそのCSVを取り込むようにする形ではダメなのでしょうか。

View solution in original post

2 Replies
hka
Employee
Employee

Snowflakeに直接Storeするのはできないです。

例えば、S3にCSV出力してSnowflakeはそのCSVを取り込むようにする形ではダメなのでしょうか。

takayuki
Contributor
Contributor
Author

Hka様

ご回答ありがとうございます

 

現状まさに、その流れでQlikSense→AmazonS3→Snowflakeというフローにてデータを取り込んでおり支障が出ている訳ではないものの

今後のデータ集約、データパイプラインのメンテナンス工数といった観点から

Snowflakeへ直接Store、またはテーブルへのデータ書き込みができないか検証していた、という状況です

 

現在の運用継続か、QlikReplicate等のツール追加導入も視野に対応検討していきます