PySpark 使用函数创建多索引配对 RDD
PySpark Create Multi Indexed Paired RDD with function
不久前我问了一个关于组织和构造具有多个键的 RDD 的问题。参见
我当前 rdd 中的每个对象都包含一个 start_time
、end_time
、id
和 position
.
我想按 id
和 time
对对象进行分组。如果两个或多个对象具有相同的 id
或任何重叠时间,我会将它们组合在一起。
找到重叠的逻辑非常简单:
if x1.start_time > x2.start_time and x1.start_time < x2.end_time
if x2.start_time > x1.start_time and x2.start_time < x2.end_time
不过我不太明白如何使用这种逻辑创建成对的 RDD。
任何建议将不胜感激,谢谢!
我认为最简单的方法是加入 id,然后过滤结果(如果没有太多相同的 id)。为此,我首先将 RDD 映射到 (id, record),然后进行连接。
不久前我问了一个关于组织和构造具有多个键的 RDD 的问题。参见
我当前 rdd 中的每个对象都包含一个 start_time
、end_time
、id
和 position
.
我想按 id
和 time
对对象进行分组。如果两个或多个对象具有相同的 id
或任何重叠时间,我会将它们组合在一起。
找到重叠的逻辑非常简单:
if x1.start_time > x2.start_time and x1.start_time < x2.end_time
if x2.start_time > x1.start_time and x2.start_time < x2.end_time
不过我不太明白如何使用这种逻辑创建成对的 RDD。
任何建议将不胜感激,谢谢!
我认为最简单的方法是加入 id,然后过滤结果(如果没有太多相同的 id)。为此,我首先将 RDD 映射到 (id, record),然后进行连接。