是否可以通过使用暂存区中的JSON文件动态创建表(带有列)?
我使用了逗号:“从@StageName复制到TableName中;”
这会将json文件中的所有不同行放入单个列中。
但是,我想要不同的列。例如,第1列应为“ IP”,第2列应为“ OS”,依此类推。
提前谢谢!!
答案 0 :(得分:0)
我在项目中实现了同样的事情。
因此,这是一个两步过程。
第一步-创建具有变体数据类型表的阶段表,并从阶段复制到表中-我可以看到您已经完成了该工作。
第二步-创建一个表或一个视图(因为雪花非常快,因此动态提取JSON数据的方法是View),它将直接从此变量列读取数据,就像这样
create or replace view schema.vw_tablename copy grants as
SELECT
v:Duration::int Duration,
v:Connectivity::string Connectivity
...
from public.tablename
如果您的JSON具有结构数组,请在下面使用
create or replace view schema.vw_tablename copy grants as
SELECT
v:Duration::int Duration,
v:Connectivity::string Connectivity,
f.value:Time::int as Event_Time,
from public.tablename,
table(flatten(v:arrayname)) f