我们常常会有这样的应用场景,就是一个复杂系统可能是由多个模块组成,然后每个模块都会有自己的logging系统。最后我们在处理日志数据的时候,会希望能够把不同模块的日志数据join在一起。一个简单的例子就是,广告有显示的日志,然后当用户点击了广告后又会有点击的日志,那么如果我想把广告信息和点击信息组合在一起就需要从这两个日志流源得到的数据进行join。这在API文档里面有相应的介绍Stream-Stream-Joins.
下面这个例子模拟的是,我们往两个eventhubs分别发送信息,包括id、value以及事件时间。对于每一个id,假定都会给两个eventhubs更发送一次信息。下面的streaming代码则是来测试从这两个eventhubs数据源读取数据进行join的操作。
public void Send()
{
Random rnd = new Random();
int id = 100000;
while (true)
{
var x = rnd.Next(30);
var payload1 = id.ToString() + ";" + x.ToString() + ";" + DateTime.Now.AddMinutes(-x).ToString("yyyyMMdd HH:mm:ss");
EventData eventData1 =