PySpark - Sobreposição de tempo para objeto no RDD
Meu objetivo é agrupar objetos com base na sobreposição de tempo.
Cada objeto no meurdd
contém umstart_time
eend_time
.
Provavelmente, estou lidando com isso de maneira ineficiente, mas o que estou planejando fazer é atribuir um ID de sobreposição a cada objeto, com base em se houver algum tempo sobreposto a qualquer um dos outros objetos. Eu tenho a lógica do tempo se sobrepor. Então, espero agrupar por issooverlap_id
.
Então primeiro,
mapped_rdd = rdd.map(assign_overlap_id)
final_rdd = mapped_rdd.reduceByKey(combine_objects)
Agora isso vem à minha pergunta. Como posso escrever a função assign_overlap_id?
def assign_overlap_id(x):
...
...
return (overlap_id, x)