Dado un conjunto de datos, initDs
quiero 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?
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
Déjame decir algunas palabras