流式处理中的最小值问题

2018/09/26

原来看流式处理的模型的时候,就看见过这部分的内容。一般来说,如果是为了寻求一个最小值(不管是多少个数据,或者多少时间段内的数据)这个东西就是一个变量的问题嘛。


下面这里涉及的比较复杂,先对问题进行一下描述:

在流式数据处理的模式下,key为字符串,value为整数,并且具有方向,以正负号作为标识。他们同样都汇聚到一个数组中。总体上保存的数量不多,所以这些数据都驻留在内存中。现在要做的处理是,每来一个数据,如果这个数值是正的,而且它是当前情况下,最小的一个数,那么前面的积累的所有正数,都要减去这个最新的最小值。反正,如果是负数,那么就要看负方向的数值。注意,情况下,两个方向的最小值是成对出现的。
那么这种情况下,如果去判定这个关系,特别是如果来了一个数他是最小的,那么如何满足前面已经为0的需求。(因为有这个方向的要求。
这个流式处理的过程,具备一些限制,这个限制,需要一批训练数据得出。


这个问题的描述还是需要进一步精简才好,感觉还是没有说的很清楚。
其实这个问题,很像那种批处理和流式处理的区别,他那个里面说的很对,就是,如果我现在不处理那这个流占用的资源就太多了,特别是在大数据量的环境下,如果快速的进行决策,这是很关键的一个问题。

那这个算法应该怎么去描述,
1、从二个,或者说第二对数据来的时候,再去执行相应的模式。(配合原来的特点,就是这个数值一般是成对出现的。)而且,如果第二个数据还比第一个大,那么就不用去执行这个相减的操作。一直等到这个相应的小的数值出现。
2、当出现了第一个比较小的数值之后,就去用这个数来减这些个数值。利用另外一个数组,做为符号的标志位。(如果后续可以将这部分信息存贮到这个数组里面,尽可能来实现)。

这里描述的还是不够准确,就是因为处理的过程需要的是一对数据。所以这个流式处理数据的过程,针对这个数据到来的方式,还是需要有一些相应的策略。这一块,有点像这个流式处理框架中的,数据清洗阶段。

虽然这个问题的背景是从一些其他的问题中发掘出来的。但是我觉得,仍然可以抽象出来很多东西。


反过来说,事先进行数据挖掘的,这是这个过程。我得先把这部分的内容进行一系列的统计。

你可能感兴趣的:(流式处理中的最小值问题)