При разделении большого набора данных (279 994 258 строк) на 2 части с помощью randomSplit
я столкнулся со странным поведением, когда приведенное ниже утверждение не удалось.
Мне было интересно, почему и существует ли способ убедиться, чточто фрейм данных разделен на 2 подмножества, которые при воссоединении составляют начальный набор данных без каких-либо потерь или перекрытий.
Или если я что-то упускаю при кодировании фрагмента ниже.
val dataset = spark.table(tableLoc)
val datasetCnt = dataset.count()
val splits = dataset.randomSplit(Array(0.5, 0.5), seed = 11L)
val datasetPart1 = splits(0)
val datasetPart1Cnt = datasetPart1.count()
val datasetPart2 = splits(1)
val datasetPart2Cnt = datasetPart2.count()
assert (datasetCnt == datasetPart1Cnt + datasetPart2Cnt)
Iиспользую Spark 2.4