присоединиться

Присоединяется к другому кадру данных, используя заданное выражение соединения.

Синтаксис

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

Параметры

Параметр Тип Описание
other DataFrame Справа от соединения.
on str, list или Column, необязательный строка для имени столбца соединения, список имен столбцов, выражение соединения (столбец) или список столбцов. Если on это строка или список строк, указывающих имя столбцов соединения, столбцы должны существовать на обеих сторонах, и это выполняет эквивалентное соединение.
how str, необязательный по умолчанию inner. Должен быть одним из следующих: inner, crossouterfullfullouterfull_outerleftleftouterleft_outerrightrightouterright_outersemileftsemileft_semiantileftantileft_anti

Возвраты

DataFrame: присоединенный кадр данных.

Примеры

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