繁体   English   中英

在Synapse Azure中从CSV读取JSON数据

[英]Read JSON data from CSV in Synapse Azure

我有一个带有一些列的 CSV,其中一个包含 JSON 内容。 我可以通过特殊处理查询这个 JSON 列吗?

下面的例子: ei

我的目标是运行查询( openrowset 文档)并获得与此类似的 output。

ID 姓名
0 瓦拉丽·斯特里克兰
1个 马修斯·哈里森
2个 塞西莉亚吉尔斯

我试图在我的环境中重现相同的内容。

我的示例数据:

在此处输入图像描述

以表格的形式转换嵌套Json的列。 首先,我使用nvarchar(max)创建了变量。 为其设置 select 查询值。

DECLARE @json nvarchar(max)
SET @json = (SELECT
TOP  100 *
FROM
OPENROWSET(
BULK  'https://dlsg2p.dfs.core.windows.net/fsn2p/jsoncolumn.csv',
FORMAT = 'CSV',
PARSER_VERSION = '2.0',
firstrow=3
) AS [result])

使用以下语句检查值是否已正确分配给变量。

select @json as JSON

使用 CROSS APPLY 将 Json 转换为表格格式:

SELECT b.id as ID ,b.name  as  Name
FROM
OPENJSON(@json)
WITH
(
friends NVARCHAR(MAX) AS JSON
) AS a
CROSS  APPLY
OPENJSON(a.friends)
WITH
(
id INT,
name  VARCHAR(MAX)
) AS b;

执行:

在此处输入图像描述

Output:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM