gpt4 book ai didi

Azure 流分析 : Regex in Reference Data

转载 作者:行者123 更新时间:2023-12-03 00:03:07 28 4
gpt4 key购买 nike

我有一个 Azure 流分析作业,它使用 EventHub 和 Blob 存储中的引用数据作为 2 个输入。引用数据是 CSV,如下所示:

REGEX_PATTERN,FRIENDLY_NAME
115[1-2]{1}9,Name 1
115[3-9]{1}9,Name 2

然后,我需要根据此 CSV 在 EventHub 中的传入事件中查找属性以获取FRIENDLY_NAME

使用引用数据的典型方法是使用JOIN子句。但在这种情况下,我无法使用它,因为 LIKE 运算符不支持此类正则表达式匹配。

UDF 是另一种选择,但我似乎找不到在函数内将引用数据用作 CSV 的方法。

是否有其他方法可以在 Azure 流分析作业中执行此操作?

最佳答案

据我所知,您的场景不支持JOIN。连接键应该是特定的,不能是正则表达式值。

因此,引用数据在这里不合适,因为它应该在 ASA sql 中使用,如下所示:

SELECT I1.EntryTime, I1.LicensePlate, I1.TollId, R.RegistrationId  
FROM Input1 I1 TIMESTAMP BY EntryTime
JOIN Registration R
ON I1.LicensePlate = R.LicensePlate
WHERE R.Expired = '1'

需要加入 key 。我的意思是,即使在这里也不需要输入引用数据。

您的想法是使用 UDF 脚本并加载 UDF 中的数据以与硬编码正则表达式数据进行比较。这个想法并不容易维持。也许你可以考虑我的解决方法:

1.您说您有不同的引用数据,请将它们分组并存储为json数组。为每个组分配一个组 ID。例如:

组 ID 1:

[
{
"REGEX":"115[1-2]{1}9",
"FRIENDLY_NAME":"Name 1"
},
{
"REGEX":"115[3-9]{1}9",
"FRIENDLY_NAME":"Name 2"
}
]

...

2.在引用组id中添加一列并设置Azure Function as Output您的 ASA SQL。在Azure Function内部,请接受组id列并加载相应组的json数组。然后循环行以匹配正则表达式并将数据保存到目标位置。

我认为 Azure Function 在 ASA sql 作业中比 UDF 更灵活。另外,这个解决方案可能更容易维护。

关于Azure 流分析 : Regex in Reference Data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61505292/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com