snowflake-cloud-data-platform - 在 SnowFlake 中动态创建表(使用暂存区的 JSON 数据)
问题描述
有没有办法通过使用暂存区的 JSON 文件动态创建表(带列)?
我使用了命令:'copy into TableName from @StageName;'
这将我的 json 文件中的所有不同行放入单个列中。
但是,我想要不同的列。例如,第 1 列应为“IP”,第 2 列应为“操作系统”,依此类推。
先感谢您!!
解决方案
我在我的项目中实现了同样的事情。
所以这是一个两步的过程。
第一步 - 创建一个包含变量数据类型表的阶段表并从阶段复制到表中 - 我可以看到你已经这样做了。
第二步 - 创建一个表或一个视图(因为雪花是超快的,视图是这种动态提取 JSON 数据的方法),它将直接从这个变量列中读取数据,就像这样
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
推荐阅读
- mocking - 我们可以使用 PowerMockito 模拟具有多个参数的私有方法吗?
- rasa - 如何在 Bot Emulator 中测试 Rasa Chatbot
- python - 尝试连接蓝牙时出现 OSError。我该如何解决?(连接板蓝牙HC-06)
- python - statsmodels 如何估计参数的标准误差?
- python-3.x - Python 数据框插入 Azure SQL
- python - 我正在尝试获取一串序列号,但收到一条错误消息,提示未定义变量
- git - 解决受保护的远程主机中的拉推冲突:Atom
- sql - 如何在sql server中再次插入该表之前复制表的一些记录并更改一些列?
- javascript - HTTP将请求放入节点和mongodb
- symfony - 尽管使用了 token_provider,但仍会发送 REMEMBERME cookie