Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Jointure à un autre DataFrame à l’aide de l’expression de jointure donnée.
Syntaxe
join(other: "DataFrame", on: Optional[Union[str, List[str], Column, List[Column]]] = None, how: Optional[str] = None)
Paramètres
| Paramètre | Type | Description |
|---|---|---|
other |
DataFrame | Côté droit de la jointure. |
on |
str, liste ou colonne, facultatif | une chaîne pour le nom de colonne de jointure, une liste de noms de colonnes, une expression de jointure (Colonne) ou une liste de colonnes. S’il on s’agit d’une chaîne ou d’une liste de chaînes indiquant le nom des colonnes de jointure, la ou les colonnes doivent exister sur les deux côtés, et cela effectue une équi-jointure. |
how |
str, facultatif | par défaut inner. Doit être l’un des suivants : inner, , , crossouterfullfullouterfull_outerleftleftouterleft_outerrightrightouterright_outersemileftsemileft_semiantileftanti et .left_anti |
Retours
DataFrame: DataFrame joint.
Exemples
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|
# +-----+---+