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))
这应该有效!
我有一个包含大约 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))
这应该有效!