Apache spark spark中的时间序列计算

Apache spark spark中的时间序列计算,apache-spark,time-series,Apache Spark,Time Series,我是spark的新手,希望就如何解决以下问题提供一些建议 我有一年中每一个交易日每分钟的烛光数据(高点、低点、开盘、收盘)。这表示大约360000个数据点 我想做的是在该数据(可能还有每个数据点)上运行一些模拟,我想要的是针对给定的数据点,获取上一个(或下一个)x数据点,然后在该数据点上运行一些代码以给出结果 理想情况下,这将在映射样式函数中实现,但不能在Spark中执行嵌套操作。我能想到的唯一方法是创建一个蜡烛数据集作为一个键,并对相关数据进行非标准化或在每个键上对其进行分区——无论哪种方法都

我是spark的新手,希望就如何解决以下问题提供一些建议

我有一年中每一个交易日每分钟的烛光数据(高点、低点、开盘、收盘)。这表示大约360000个数据点

我想做的是在该数据(可能还有每个数据点)上运行一些模拟,我想要的是针对给定的数据点,获取上一个(或下一个)x数据点,然后在该数据点上运行一些代码以给出结果

理想情况下,这将在映射样式函数中实现,但不能在Spark中执行嵌套操作。我能想到的唯一方法是创建一个蜡烛数据集作为一个键,并对相关数据进行非标准化或在每个键上对其进行分区——无论哪种方法都似乎效率低下

理想情况下,我正在寻找的东西(蜡烛,列表)->双倍或类似的东西

我相信有更好的办法


我使用Spark 2.1.0并使用Thread作为调度引擎。

我在Spark中做了大量的时间序列处理,并花了一些时间思考完全相同的问题

不幸的是,在我看来,如果不按照您的建议对数据进行结构化,就没有一种很好的方法可以按照您想要的方式处理所有数据。我认为我们必须接受这样一个事实,即无论我们使用的是Spark、pandas还是Postgres,这种操作都是昂贵的

您可以使用隐藏代码复杂性(查看
rangeBetween
/
rangeBetween
),但您所做的事情的本质是无法逃避的


Protip:将数据映射到features->label一次,并将其写入磁盘,以加快开发/测试速度

谢谢你的回答,虽然我不能正确地标记它,但我确实理解你的理由,并且我已经实现了一些数据非标准化以供分析。遗憾的是,这种逻辑不起作用,但我现在明白了为什么会这样。