azu*_*ura 3 sql json snowflake-cloud-data-platform
这是从另一个线程中获取的示例,但本质上我想实现这一目标:
样本数据
ID Name Value
1 TV1 {"URL": "www.url.com", "Icon": "some_icon"}
2 TV2 {"URL": "www.url.com", "Icon": "some_icon", "Facebook": "Facebook_URL"}
3 TV3 {"URL": "www.url.com", "Icon": "some_icon", "Twitter": "Twitter_URL"}
..........
Run Code Online (Sandbox Code Playgroud)
预期产出
ID Name URL Icon Facebook Twitter
1 TV1 www.url.com some_icon NULL NULL
2 TV2 www.url.com some_icon Facebook_URL NULL
3 TV3 www.url.com some_icon NULL Twitter_URL
Run Code Online (Sandbox Code Playgroud)
我对 Snowflake 完全陌生,所以我对如何轻松地做到这一点摇摇头(希望是自动的,在某些行可能比其他行在 json 中包含更多元素的情况下,手动分配会很乏味) 。有些行可能也有子类别。
我找到了parse_jsonSnowflake 的函数,但它只是在新列中为我提供了相同的 json 列,仍然是 json 格式。
蒂亚!
您可以使用以下 SELECT 在表上创建视图:
SELECT ID,
Name,
Value:URL::varchar as URL,
Value:Icon::varchar as Icon,
Value:Facebook::varchar as Facebook,
Value:Twitter::varchar as Twitter
FROM tablename;
Run Code Online (Sandbox Code Playgroud)
除非将附加属性添加到视图中,否则它们将被忽略。无法“自动”将它们包含到视图中,但您可以创建一个存储过程,根据表的完整变体内容中的所有属性动态生成视图。