我有来自事件中心的以下结构 JSON 数据,我正在尝试使用 Azure 流分析处理相同的数据。 我已经尝试了一些方法来从该 JSON 结构中提取数组元素,但所有查询方法都显示一个或另一个错误。
如果我尝试使用 CTE 和某些函数展平“JSON”,查询会抛出错误,例如不支持函数。 对于使用 Azure 流分析检索以下“JSON”数据有什么建议吗?
[ { “用户”: [ { “状态”:“活跃”, “用户ID”:“11000”, "用户名": "[电子邮件受保护]", “名字”:“test01”, “姓氏”:“test02”, "email": "[电子邮件受保护]", “经理”:“测试04”, “人力资源”:“测试03” } ] } ]
问候, 桑迪普
由于
User
是保留关键字,因此您需要在查询中将它们括在括号[User]
中。我对您的查询做了一些更改。以下是修改后的查询。
select
a.arrayvalue.status,a.arrayvalue.UserId,a.arrayvalue.username,
a.arrayvalue.firstname, a.arrayvalue.lastname, a.arrayvalue.email,
a.arrayvalue.manager, a.arrayvalue.humanresource
from input as i cross apply getArrayElements(i.[User]) a
此代码使用
GetArrayElements
函数从输入 JSON 中提取 User
数组,然后使用 CROSS APPLY
将数组展平为单独的行。最后,它从扁平化数据中选择各个字段。