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


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


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

用法:

DataFrame.unionByName(other, allowMissingColumns=False)

返回一个新的 DataFrame ,其中包含此行和另一个 DataFrame 中的行的联合。

这与 SQL 中的 UNION ALLUNION DISTINCT 都不同。要执行 SQL-style 集合并集(对元素进行重复数据删除),请使用此函数,后跟 distinct()

2.3.0 版中的新函数。

例子

此函数与 union() 之间的区别在于此函数按名称(而不是按位置)解析列:

>>> df1 = spark.createDataFrame([[1, 2, 3]], ["col0", "col1", "col2"])
>>> df2 = spark.createDataFrame([[4, 5, 6]], ["col1", "col2", "col0"])
>>> df1.unionByName(df2).show()
+----+----+----+
|col0|col1|col2|
+----+----+----+
|   1|   2|   3|
|   6|   4|   5|
+----+----+----+

当参数 allowMissingColumnsTrue 时,此和其他 DataFrame 中的列名称集可以不同;缺少的列将用 null 填充。此外,此 DataFrame 的缺失列将添加到联合结果模式的末尾:

>>> df1 = spark.createDataFrame([[1, 2, 3]], ["col0", "col1", "col2"])
>>> df2 = spark.createDataFrame([[4, 5, 6]], ["col1", "col2", "col3"])
>>> df1.unionByName(df2, allowMissingColumns=True).show()
+----+----+----+----+
|col0|col1|col2|col3|
+----+----+----+----+
|   1|   2|   3|null|
|null|   4|   5|   6|
+----+----+----+----+

在 3.1.0 版中更改:添加了可选参数allowMissingColumns指定是否允许缺失列。

相关用法


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