Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/apache-spark/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Apache spark 基于Spark的项目分配算法_Apache Spark_Ignite - Fatal编程技术网

Apache spark 基于Spark的项目分配算法

Apache spark 基于Spark的项目分配算法,apache-spark,ignite,Apache Spark,Ignite,我正在研究Spark中的一种资源分配问题 假设有一个人员列表和一个他们想要从预选项目列表中获取的项目 例如: 预选项目列表为I1、I2、I3 另一份清单是人们的愿望清单: P1 want I1 P2 wants I1 P3 wanta I2 P4 wants I3 这个列表有十亿行 现在,由于每个项目的库存有限,用户想要的唯一解决方案是顺序 如果我想与Spark并行,我找不到任何数据结构/类型可以用于共享、强一致的状态,在分配一个项目后,我可以减少库存 我查看了ApacheIgnite,

我正在研究Spark中的一种资源分配问题

假设有一个人员列表和一个他们想要从预选项目列表中获取的项目

例如:

预选项目列表为I1、I2、I3

另一份清单是人们的愿望清单:

P1 want I1

P2 wants I1

P3 wanta I2

P4 wants I3
这个列表有十亿行

现在,由于每个项目的库存有限,用户想要的唯一解决方案是顺序

如果我想与Spark并行,我找不到任何数据结构/类型可以用于共享、强一致的状态,在分配一个项目后,我可以减少库存

我查看了ApacheIgnite,但我找不到一种方法在同一个作业中使用它,但与所有执行器一起使用

Spark中是否有我不知道的共享缓存


或者我可以在这里利用其他具有Spark的速度和弹性的框架吗?

如果您想共享Spark数据,可以使用ApacheIgnite。它与spark-IgniteRDD集成,这将帮助您将所有数据存储在缓存中,然后从不同的位置访问数据

此集成的入口点:


文档:

如果您想共享spark数据,可以使用ApacheIgnite。它与spark-IgniteRDD集成,这将帮助您将所有数据存储在缓存中,然后从不同的位置访问数据

此集成的入口点:


文档:

对于我来说,不清楚您试图实现什么。这是否意味着更多的人在购物车中拥有相同的商品,然后商品就可以买到?@RaphaelRoth是的。。问题是,在该列表中有一个项目的人数多于其在库存中的实际可用数量。因此,我需要做一些分配。对我来说,不清楚你试图实现什么。这是否意味着更多的人在购物车中拥有相同的商品,然后商品就可以买到?@RaphaelRoth是的。。问题是,在该列表中有一个项目的人数多于其在库存中的实际可用数量。因此,我需要进行某种分配。IgniteRDD可以帮助我在同一个Spark作业的不同执行者之间共享数据吗?IgniteRDD下有一个简单的Ignite缓存,因此我看不到这里有任何问题。IgniteRDD可以同时更新并且每个执行者都可以看到更新吗?您检查了我提供的链接吗?只要看一下文档,上面提到了你需要的一切是的,我看过了。但该示例显示了一个创建IgniteRDED的作业对其进行更改,然后另一个作业可以读取第一个作业离开的状态。我现在的问题是,我不想维护一些共享状态,这些共享状态将由不同的执行者同时更新和读取。IgniteRDD套件有这样的用例吗?IgniteRDD可以帮助我在同一个Spark作业的不同执行者之间共享数据吗?IgniteRDD下有一个简单的Ignite缓存,所以我看不到这里有任何问题。IgniteRDD可以同时更新并且每个执行者都可以看到更新吗?你检查过我提供的链接了吗?只要看一下文档,上面提到了你需要的一切是的,我看过了。但该示例显示了一个创建IgniteRDED的作业对其进行更改,然后另一个作业可以读取第一个作业离开的状态。我现在的问题是,我不想维护一些共享状态,这些共享状态将由不同的执行者同时更新和读取。IgniteRDSuite是否有这样的用例?