ansluta

Ansluter till en annan DataFrame med hjälp av det angivna kopplingsuttrycket.

Syntax

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

Parameters

Parameter Type Beskrivning
other DataFrame Höger sida av kopplingen.
on str, list eller kolumn, valfritt en sträng för namnet på kopplingskolumnen, en lista med kolumnnamn, ett kopplingsuttryck (kolumn) eller en lista med kolumner. Om on är en sträng eller en lista med strängar som anger namnet på kopplingskolumnerna måste kolumnerna finnas på båda sidor, och detta utför en equi-join.
how str, valfritt standard inner. Måste vara något av: inner, cross, outer, full, fullouter, full_outer, left, leftouter, , left_outer, right, rightouter, right_outer, semi, leftsemi, left_semi, antioch leftantileft_anti .

Retur

DataFrame: Ansluten dataram.

Exempel

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