gabung

Bergabung dengan DataFrame lain, menggunakan ekspresi gabungan yang diberikan.

Sintaksis

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

Parameter-parameternya

Parameter Tipe Deskripsi
other DataFrame Sisi kanan gabungan.
on str, daftar, atau Kolom, opsional string untuk nama kolom gabungan, daftar nama kolom, ekspresi gabungan (Kolom), atau daftar Kolom. Jika on adalah string atau daftar string yang menunjukkan nama kolom gabungan, kolom harus ada di kedua sisi, dan ini melakukan equi-join.
how str, opsional default inner. Harus salah satu dari: inner, , cross, outer, full, fullouterfull_outer, left, leftouter, left_outer, , right, rightouterright_outer, semi, leftsemi, , left_semi, anti, dan leftantileft_anti.

Pengembalian Barang

DataFrame: Bergabung dengan DataFrame.

Examples

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