Azure 流分析 -> 我真的对路径前缀有多少控制?
Posted
技术标签:
【中文标题】Azure 流分析 -> 我真的对路径前缀有多少控制?【英文标题】:Azure Stream Analytics -> how much control over path prefix do I really have? 【发布时间】:2017-01-09 21:39:39 【问题描述】:我想根据来自事件中心的一些数据设置前缀。
我的数据是这样的: "id":"1234",...
我想写一个类似于以下内容的 blob 前缀: foo/id/guid....
最终我希望每个 id 都有一个 blob。这将有助于它如何被下游消耗掉。
我没有看到创建与日期和时间无关的前缀的方法。从理论上讲,我可以编写另一个工作来从 blob 中提取并在流分析步骤之后将其分解。但是,感觉 SA 应该允许我立即分手。
有什么想法吗?
【问题讨论】:
【参考方案1】:date 、 time 和 partition 是 blob 输出前缀中唯一支持的。 partition 是一个数字。
目前不支持在 blob 前缀中使用列值。
如果您的此类 id 数量有限,那么您可以通过编写多个“select --”语句来解决问题,其中不同的过滤器写入不同的输出并硬编码输出中的前缀。否则,仅使用 ASA 是不可能的。
【讨论】:
除了硬“不”之外,当我遇到类似问题时,Alexander 还提供了一些很好的实用解决方法:***.com/questions/41233928/…【参考方案2】:应该注意的是,现在您实际上可以做到这一点。不确定何时实现,但您现在可以使用消息中的单个属性作为自定义分区键,语法与 OP 要求的完全相同:foo/id/something/else
此处记录了更多详细信息:https://docs.microsoft.com/en-us/azure/stream-analytics/stream-analytics-custom-path-patterns-blob-storage-output
关键点:
只允许一个自定义属性 必须是对现有消息属性的直接引用(即没有像prop1+prop2
这样的串联)
如果自定义属性导致分区过多(超过 8,000 个),则可能会为同一分区创建任意数量的 blob
【讨论】:
以上是关于Azure 流分析 -> 我真的对路径前缀有多少控制?的主要内容,如果未能解决你的问题,请参考以下文章