¿Cómo generar todos los conjuntos de datos posibles diferentes en como máximo una fila de un conjunto de datos inicial?

Patrick Schulz

Dado un conjunto de datos, initDsquiero generar todos los conjuntos de datos posibles que tengan una fila de diferencia con el conjunto de datos inicial initDs. El problema consiste en generar todos los conjuntos de datos posibles que tengan como máximo una diferencia de fila con initDs. Para explicar mejor los conjuntos de datos generados (lista de genDs) debe cumplir con la siguiente restricción (para todos los generados genDs):

if (initDataset.except(genDs).count() == 1)
   do something 

Mi pregunta es ¿cómo generar las combinaciones de conjuntos de datos?

Sansarun

puedes probar esto :)

import sparkSession.implicits._
import org.apache.spark.sql.functions._

val df = Seq("A", "B", "C", "D")
  .toDF("letter")
  .withColumn("id", monotonically_increasing_id)

val ids = 0L to (df.count() - 1)
val genDfs = ids.map(excludedId => df.where( col("id") =!= lit(excludedId) ).drop("id"))

genDfs.foreach(_.show)

Producción

+------+
|letter|
+------+
|     B|
|     C|
|     D|
+------+

+------+
|letter|
+------+
|     A|
|     C|
|     D|
+------+

+------+
|letter|
+------+
|     A|
|     B|
|     D|
+------+

+------+
|letter|
+------+
|     A|
|     B|
|     C|
+------+

Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.

En caso de infracción, por favor [email protected] Eliminar

Editado en
0

Déjame decir algunas palabras

0Comentarios
Iniciar sesiónRevisión de participación posterior

Artículos relacionados

TOP Lista

CalienteEtiquetas

Archivo