【发布时间】:2022-01-24 19:53:50
【问题描述】:
我想将字符串拆分成列。
我的专栏应该是:
account_id, resource_type, resource_name
我有一个 JSON 文件源,我一直在尝试通过 ADF 数据流进行解析。这对我不起作用,因此我将数据展平并将其带入 SQL Server(如果有人可以告诉我如何通过 ADF 或 SQL 解析值,我愿意)。请检查底部的 JSON 文件。
使用此代码查询我正在处理的数据。
CREATE TABLE test.test2
(
resource_type nvarchar(max) NULL
)
INSERT INTO test.test2 ([resource_type])
VALUES
('account_id:224526257458,resource_type:buckets,resource_name:camp-stage-artifactory'),
('account_id:535533456241,resource_type:buckets,resource_name:tni-prod-diva-backups'),
('account_id:369798452057,resource_type:buckets,resource_name:369798452057-s3-manifests'),
('account_id:460085747812,resource_type:buckets,resource_name:vessel-incident-report-nonprod-accesslogs')
我应该能够在 SQL Server 中查询的输出应该是这样的:
| account_id | resource_type | resource_name |
|---|---|---|
| 224526257458 | buckets | camp-stage-artifactory |
| 535533456241 | buckets | tni-prod-diva-backups |
等等。
如果需要,请帮助我并要求澄清。提前致谢。
编辑:
源 JSON 格式:
{
"start_date": "2021-12-01 00:00:00+00:00",
"end_date": "2021-12-31 23:59:59+00:00",
"resource_type": "all",
"records": [
{
"directconnect_connections": [
"account_id:227148359287,resource_type:directconnect_connections,resource_name:'dxcon-fh40evn5'",
"account_id:401311080156,resource_type:directconnect_connections,resource_name:'dxcon-ffxgf6kh'",
"account_id:401311080156,resource_type:directconnect_connections,resource_name:'dxcon-fg5j5v6o'",
"account_id:227148359287,resource_type:directconnect_connections,resource_name:'dxcon-fgvfo1ej'"
]
},
{
"virtual_interfaces": [
"account_id:227148359287,resource_type:virtual_interfaces,resource_name:'dxvif-fgvj25vt'",
"account_id:227148359287,resource_type:virtual_interfaces,resource_name:'dxvif-fgbw5gs0'",
"account_id:401311080156,resource_type:virtual_interfaces,resource_name:'dxvif-ffnosohr'",
"account_id:227148359287,resource_type:virtual_interfaces,resource_name:'dxvif-fg18bdhl'",
"account_id:227148359287,resource_type:virtual_interfaces,resource_name:'dxvif-ffmf6h64'",
"account_id:390251991779,resource_type:virtual_interfaces,resource_name:'dxvif-fgkxjhcj'",
"account_id:227148359287,resource_type:virtual_interfaces,resource_name:'dxvif-ffp6kl3f'"
]
}
]
}
【问题讨论】:
-
我猜,列名需要动态生成..?
-
我不确定我是否理解。在上面的查询中,列名用“:”分隔。
-
列名必须在 SQL 中明确定义,@newbie。您的数据总是只有这 3 列吗?
-
根据问题指南,请展示您的尝试并告诉我们您发现了什么(在本网站或其他地方)以及为什么它不能满足您的需求。
-
是的,数据总是3列。这不太可能改变。我从另一个部门的 JSON 文件中获取这样的数据,并且无法控制其格式。仅供参考
标签: sql-server parsing azure-data-factory-2 delimited