aderir

Junta-se a outro DataFrame, usando a expressão de junção dada.

Sintaxe

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

Parâmetros

Parâmetro Tipo Descrição
other DataFrame Lado direito da junção.
on str, list ou Column, opcional uma cadeia para o nome da coluna de junção, uma lista de nomes de colunas, uma expressão de junção (Coluna) ou uma lista de Colunas. Se on for uma cadeia ou uma lista de cadeias que indicam o nome da(s) coluna(s) de junção, a(s) coluna(s) devem existir em ambos os lados, e isto realiza uma união equi-join.
how STR, opcional padrão inner. Deve ser um de: inner, cross, outer, fullfullouter, , full_outerleft, leftouterleft_outerright, rightouter, right_outersemileftsemileft_semiantie . leftantileft_anti

Devoluções

DataFrame: Juntou-se ao DataFrame.

Exemplos

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|
# +-----+---+