Я использую sampleBy () получить стратифицированную выборку на кадре данных искры.
samples = df.sampleBy("label", fractions, seed=314156)
df - это кадр данных со столбцом label
, (поскольку имя подразумевает, что это - метка каждой строки), и фракции - словарь {label:fraction}
как то, что задокументировано.фрейм данных всегда загружает данные из одного и того же набора CSV-файлов (хранящихся в s3), фракции также детерминированы (то же самое каждый раз).
это поведение, которое я получаю, вывод детерминирован (слабо обозначен samples.count()
) на моей локальной машине с pyspark 2.4 (локальный режим).но я получаю разные результаты на EMR (pyspark 2.3 пряжи).
поэтому мой вопрос в том, какова гарантия sampleBy
, когда вы предоставляете семя?как сделать результат детерминированным?тот же кластер?или те же номера разделов?