[spark股票预测]spark股市分析

时间:2020-10-11 13:45:58 作者:股票中国

基于Spark Streaming预测股票走势的例子(二)

也就是说返回的类型也可以是任意类型,这点与updateStateByKey有少许不同。下面是一个示例**mapWithState。function是用每个key的state对(k,stockPrice)键值对,使用每个key的state进行映射,返回新的结果*此处的state是每个stockName的上一次的价格*用输入的(stockName,stockPrice)中的stockPrice更行state中的上一次的价格(state。update函数)*映射结果为(stockName,(stockPrice-上一次价格,1)),当然映射结果也可以是其他值,例如(stockName,newPrice:Option[Float],'+lstPrice)(key,(newPrice。getOrElse(0。0f)-lstPrice,1))}2、reduceByKeyAndWindow上一个例子中,

金利道分享基于Spark Streaming预测股票走势

单个闲置机器执行了所有的恢复,然后开始处理新的纪录。在高负荷地系统中这需要很长时间才能跟上进度,这是因为在重建旧的状态过程中新的纪录会持续到达。事实上,假设在失败之前地工作量是,然后在恢复的每分钟中备份节点只能做一分钟地工作,但是会同时收到分钟的新任务。因此,要在的时间内从上次失败节点中完全恢复个单元的任务,则可以得到:。(4。1)在其他线路中,所有的机器参与恢复,同时也处理新的纪录。假定在任务失败之前分布式集群中有台机器,剩余的台机器,现在每个机器需要恢复个工作,同时接收数据的速率是。它们追赶到来的数据流时间满足。(4。2)因此,拥有更多的节点,并行恢复能够跟上到来的数据流,这比上行留备份要快得多。除了节点故障,幸运的是,DStreams同样也可以让我们像批处理系统那样减少较慢节点的影响,这种推测执行在连续的处理系统中可能很难实现,因为它需要启动一个节点的新副本,填充新副本的状态,并追赶上较慢的副本。

基于Spark Streaming预测股票走势的例子(二)

spark股市分析上一篇博客中,已经对股票预测的例子做了简单的讲解,下面对其中的几个关键的技术点再作一些总结。1、updateStateByKey由于在1。6版本中有一个替代函数,据说效率比较高,defmapWithState[StateType,MappedType](spec:StateSpec[K,StateType,MappedType]):MapWithStateDStream[K,StateType,MappedType]={}上面是函数的原型,接收一个StateSpec的对象,其实就是对updateStateByKey相关参数的一个封装。该对象接收4个类型参数,KEY值的类型,State的类型,Mapped的类型。理解这个四个类型参数也比较关键,这个跟updateStateByKey有少许区别:K,Float,(Float,Int),OneObject等等;MappedType是映射结果的类型,

金利道分享基于Spark Streaming预测股票走势

状态跟踪等。这些操作是在基于标准的数据流处理技术的基础上例如滑动窗口。图4。2用于单一关联和关联+可逆版本的操作执行的reduceByWindow。这两个版本为每个时间间隔只进行一次计数的计算,但是第二个版本的操作避免了对每一个窗口进行重新求和。方框表示RDDs,箭头表示用来计算窗口的操作[t,t+5)。图4。2用于单一关联和关联+可逆版本的操作执行的reduceByWindow(1)窗口操作:window操作将每一个过去的时间周期的滑动窗口里的所有记录组合到一个RDD。例如,代码words。window(“5s”),会产生一个包含周期内单词的RDDs的DStream[0,5),[1,6),[2,7)等。(2)增量式聚合操作:对于常用的聚合计算的用例,就像在一个滑动窗口上进行count或max操作,DStreams有增量reduceByWindow操作的几个变种操作。最简单的一个是仅仅用一个关联的合并函数来对值进行合并。

基于Spark Streaming预测股票走势的例子(二)

虽然使用到了该函数,但其实是在官方例子的基础上依葫芦画瓢写的,并不能很好的理解该函数的具体用法。Int),newPair:(Float,Int))=>{if(newPair。_1>0)(reduced。_1+newPair。_1,reduced。_2+newPair。_2)else(reduced。_1+newPair。_1,Int),oldPair:(Float,Int))=>{if(oldPair。_1>0)(reduced。_1+oldPair。_1,reduced。_2-oldPair。_2)else(reduced。_1+oldPair。_1,invReduceFunc,Seconds(3),windowLenSeconds(1)slideLen)其中两个函数很关键:reduceFunc、reduceFunc是对进入窗口的数据进行的计算,那么怎么理解进入窗口和离开窗口呢?

本文标签: 股市 股票预测
本文地址: http://www.gafan.cn/gupiaobaike/110504.html
相关文章