Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
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|
# +-----+---+