我有一个分配问题,我想向 SO 社区询问为我的 Spark 数据帧实现此任务的最佳方法(使用 Spark 3.1+)。我将首先描述问题,然后再进行实施。
问题是:我最多有 N 个任务和 N 个个人(在这个问题的情况下,N=10)。每个人执行每项任务都有一定的成本,其中最小成本为 0 美元,最大成本为 10 美元。这是一种匈牙利算法问题,有一些注意事项。
multiTask=True(不能超过 1 个multiTask,也可能没有)。如果一个worker的成本低于x多任务,他会被自动分配给多任务,并且在优化过程中该多任务被认为已被占用。
这是 Spark 数据框的样子。注意:为了简单起见,我展示了一个示例,其中 N=3(3 个任务,3 个个人)。
from pyspark.sql import Row
rdd …Run Code Online (Sandbox Code Playgroud) python hungarian-algorithm apache-spark pyspark scipy-optimize
这真是愚蠢,但动物园管理员做的那个木筏没有 - 不是说zab而是动物园管理员本身.
我得到筏子领导选举等服务器,但动物园管理员的意义何在?是否有任何人有类比
我有一个 spark 数据框 ( prof_student_df),其中列出了学生/教授对的时间戳。每个时间戳有 4 位教授和 4 位学生,每个教授-学生对都有一个“分数”(因此每个时间段有 16 行)。对于每个时间范围,我需要找到教授/学生之间的一对一配对,以最大限度地提高总分。每个教授只能在一个时间范围内与一名学生配对。
例如,这是一个时间范围内的配对/分数。
+------------+--------------+------------+-------+----------+
| time | professor_id | student_id | score | is_match |
+------------+--------------+------------+-------+----------+
| 1596048041 | p1 | s1 | 0.7 | FALSE |
| 1596048041 | p1 | s2 | 0.5 | TRUE |
| 1596048041 | p1 | s3 | 0.3 | FALSE |
| 1596048041 | p1 | s4 | 0.2 | FALSE |
| 1596048041 | p2 | s1 | 0.9 | TRUE …Run Code Online (Sandbox Code Playgroud) 我将如何创建 WS 侦听器并流式传输到 Kinesis?我已经看到 lambdas -> kinesis 的 api 调用示例,但我正在寻找持久连接的东西。我是 websocket 的客户端,必须在 3 秒内发送一个 api 令牌,但我不必与套接字通信,我是侦听器。我不控制 Websocket。
我可以使用 Websocket 连接包并编写一个脚本来连接和验证,只是不确定这将如何设计(即它永远不会停止运行,所以除非我错了,否则没有 while 循环)