join

Combina con otro DataFrame mediante la expresión de combinación especificada.

Sintaxis

join(other: "DataFrame", on: Optional[Union[str, List[str], Column, List[Column]]] = None, how: Optional[str] = None)

Parámetros

Parámetro Tipo Descripción
other DataFrame Lado derecho de la combinación.
on str, list o Column, opcional una cadena para el nombre de la columna de combinación, una lista de nombres de columna, una expresión de combinación (Columna) o una lista de columnas. Si on es una cadena o una lista de cadenas que indica el nombre de las columnas de combinación, las columnas deben existir en ambos lados y esto realiza una combinación equitativa.
how str, opcional valor predeterminado inner. Debe ser uno de los siguientes: inner, , crossouterfullfullouterfull_outerleftleftouterleft_outerrightrightouterright_outersemileftsemileft_semiantileftanti y .left_anti

Devoluciones

DataFrame: DataFrame unido.

Ejemplos

import pyspark.sql.functions as sf
from pyspark.sql import Row
df = spark.createDataFrame([Row(name="Alice", age=2), Row(name="Bob", age=5)])
df2 = spark.createDataFrame([Row(name="Tom", height=80), Row(name="Bob", height=85)])

df.join(df2, "name").show()
# +----+---+------+
# |name|age|height|
# +----+---+------+
# | Bob|  5|    85|
# +----+---+------+

joined = df.join(df2, df.name == df2.name, "outer").sort(sf.desc(df.name))
joined.show()
# +-----+----+----+------+
# | name| age|name|height|
# +-----+----+----+------+
# |  Bob|   5| Bob|    85|
# |Alice|   2|NULL|  NULL|
# | NULL|NULL| Tom|    80|
# +-----+----+----+------+

df.alias("a").join(
    df.alias("b"), sf.col("a.name") == sf.col("b.name"), "outer"
).sort(sf.desc("a.name")).select("a.name", "b.age").show()
# +-----+---+
# | name|age|
# +-----+---+
# |  Bob|  5|
# |Alice|  2|
# +-----+---+