この記事はSnowflake Advent Calendar 2021の20日目の記事になります!
今回はSnowflakeの超便利関数「GET_OBJECT_REFERENCES」をPythonで物理テーブル化してみました。
PythonでSnowflakeに初めてつないでみましたが、
ドキュメントがすごく親切で簡単にできました~🙇
(PythonでのSnowflakeへの接続については端折ってます。詳しくはこちら)
こちらはViewが参照しているオブジェクトのリストを返してくれる関数です。
詳しくはこちらをご覧ください。
ここでは以下のテストデータで簡単に見ていきたいと思います。
ではTEST_Eが参照しているオブジェクトのリストを出力してみます。
上図のようにTEST_Eが参照しているオブジェクトが縦に並びます。
VIEWを参照している場合、そのVIEWが参照しているオブジェクトまでリスト化してくれるので超便利ですね!
この関数はViewにしか対応していませんが、ドキュメントには「現在、入力はビューの名前に制限されています」とあるので、ゆくゆくはタスクとして登録されているクエリにも使えるようにならないかなーと期待しております(笑)
実施環境
以下Pythonコードです。
Python用Snowflakeコネクタのオブジェクトやメソッドについてはこちらをご確認ください。
処理の流れとしては、
です。
では実行結果を見てみましょう。
データを確認できました👏
いかがだったでしょうか。
Snowflakeはいろいろなことができて面白いですね。
次回は今回作成したPythonの処理をSnowflakeのprocedureに置き換えてみようと思います。(処理の内容が結構変わりました)
最後まで読んでくださり、ありがとうございました!