我有一个数据集,目前有 233,465 行,每天增长大约 10,000 行。我需要从完整数据集中随机选择行用于 ML 训练。我为“索引”添加了一个“id”列。
from pyspark.sql.functions import monotonically_increasing_id
spark_df = n_data.withColumn("id", monotonically_increasing_id())
我执行以下代码,期望看到返回 5 行,其中 id 与计数为 5 的“索引”列表匹配。
indices = [1000, 999, 45, 1001, 1823, 123476]
result = spark_df.filter(col("id").isin(indices))
result.show()
print(result.count())
相反,我得到 3 行。我得到了 45、1000 和 1001 的 ID。
关于这里可能有什么问题的任何想法?这看起来很简单。
谢谢!