当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python pyspark DataFrame.join用法及代码示例


本文简要介绍 pyspark.sql.DataFrame.join 的用法。

用法:

DataFrame.join(other, on=None, how=None)

使用给定的连接表达式与另一个 DataFrame 连接。

版本 1.3.0 中的新函数。

参数

otherDataFrame

连接的右侧

onstr,列表或 Column ,可选

连接列名的字符串、列名列表、连接表达式(列)或列列表。如果 on 是一个字符串或一个字符串列表,表示连接列的名称,则列必须存在于两边,这将执行 equi-join。

howstr,可选

默认 inner 。必须是以下之一: inner , cross , outer , full , fullouter , full_outer , left , leftouter , left_outer , right , rightouter , right_outer , semi , leftsemi , left_semi , anti , leftantileft_anti

例子

以下在 df1df2 之间执行完全外连接。

>>> from pyspark.sql.functions import desc
>>> df.join(df2, df.name == df2.name, 'outer').select(df.name, df2.height)                 .sort(desc("name")).collect()
[Row(name='Bob', height=85), Row(name='Alice', height=None), Row(name=None, height=80)]
>>> df.join(df2, 'name', 'outer').select('name', 'height').sort(desc("name")).collect()
[Row(name='Tom', height=80), Row(name='Bob', height=85), Row(name='Alice', height=None)]
>>> cond = [df.name == df3.name, df.age == df3.age]
>>> df.join(df3, cond, 'outer').select(df.name, df3.age).collect()
[Row(name='Alice', age=2), Row(name='Bob', age=5)]
>>> df.join(df2, 'name').select(df.name, df2.height).collect()
[Row(name='Bob', height=85)]
>>> df.join(df4, ['name', 'age']).select(df.name, df.age).collect()
[Row(name='Bob', age=5)]

相关用法


注:本文由纯净天空筛选整理自spark.apache.org大神的英文原创作品 pyspark.sql.DataFrame.join。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。