지정된 조인 식을 사용하여 다른 DataFrame과 조인합니다.
문법
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, ,cross, outerfull, fullouter, full_outerleft, leftouterleft_outer, rightrightouterright_outersemileftsemileft_semiantileftanti 및 .left_anti |
Returns
DataFrame: 조인된 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|
# +-----+---+