Apache spark 有没有办法将数据查找和规范化例程集成到ApacheSpark处理管道中?

Apache spark 有没有办法将数据查找和规范化例程集成到ApacheSpark处理管道中?,apache-spark,spark-streaming,spark-dataframe,Apache Spark,Spark Streaming,Spark Dataframe,作为一家服务提供商,我们拥有多个事件/票务系统,我们计划通过ApacheSpark从中传输数据。其中一个挑战是,这些票务系统中的每一个都采用了自己的语义含义,如“事件优先级”等。 这种情况迫使我们通过查找/规范化例程来运行这些事件记录,这些例程将语义调整回公共含义。 我的问题是:是否有可能将这种查找/规范化例程引入Spark流处理管道 这是一个相当模糊的描述,但如果您认为Spark和Spark streaming通常是适合此项工作的工具,那么查找和清理例程应该不会有问题。其目的是在PySpark

作为一家服务提供商,我们拥有多个事件/票务系统,我们计划通过ApacheSpark从中传输数据。其中一个挑战是,这些票务系统中的每一个都采用了自己的语义含义,如“事件优先级”等。 这种情况迫使我们通过查找/规范化例程来运行这些事件记录,这些例程将语义调整回公共含义。
我的问题是:是否有可能将这种查找/规范化例程引入Spark流处理管道

这是一个相当模糊的描述,但如果您认为Spark和Spark streaming通常是适合此项工作的工具,那么查找和清理例程应该不会有问题。其目的是在PySpark中编写一个例程,处理每个传入的流记录,从MongoDB(位于每个处理节点上)执行查找,修改每个记录,并传递该记录以供进一步使用。这是一个合理的场景吗?@Eugene听起来像是spark流媒体的一个非常常见的场景。@EugeneGoldberg,我建议,如果数据不是太大,可以帮助您规范语义的“查找”表将作为广播变量缓存在spark中。如果数据很大,可能是您可以实现1次提取(对于当前处理周期),并将此数据转换为本机spark RDD(因此您将使用此RDD加入输入流以进行规范化)。根据我的经验,任何这样的查找(到外部服务)都会使您的总吞吐量降低(缓存也可能有帮助)。不管怎样,它是可行的,并且会起作用。@Igor Berman,在我的例子中,我们讨论的查找记录不到1000条,所以广播变量的想法应该很好。某些查找值会不时更改。有没有办法“重播”这样的更新?