Spark 删除行

Spark Delete Rows

我有一个包含大约 20k 行的 DataFrame。

我想随机删除数据集中的186行。

了解上下文 - 我正在测试缺失数据的分类模型,并且每一行都有一个 unix 时间戳。 186行对应3秒(每秒有62行数据)

我的目标是,当数据流式传输时,数据很可能会 失踪数秒。我正在从时间 window 中提取特征,所以我想看看丢失的数据如何影响模型性能。

我认为最好的方法是转换为 rdd 并使用 filter 函数,类似这样,然后将逻辑放在过滤器函数中。

dataFrame.rdd.zipWithIndex().filter(lambda x: )

但我坚持逻辑 - 我该如何实现它? (使用 PySpark)

尝试这样做:

import random
startVal = random.randint(0,dataFrame.count() - 62)
dataFrame.rdd.zipWithIndex()\
             .filter(lambda x: not x[<<index>>] in range(startVal, startVal+62))

这应该有效!