返回一个新的 DataFrame,其中包含此 DataFrame 和另一个 DataFrame 中的行,同时保留重复项。
Syntax
intersectAll(other: "DataFrame")
参数
| 参数 | 类型 | 说明 |
|---|---|---|
other |
DataFrame | 需要组合的另一个数据帧。 |
退货
DataFrame:合并的数据帧。
备注
这相当于 INTERSECT ALL 在 SQL 中。 作为 SQL 中的标准,此函数按位置(而不是按名称)解析列。
示例
df1 = spark.createDataFrame([("a", 1), ("a", 1), ("b", 3), ("c", 4)], ["C1", "C2"])
df2 = spark.createDataFrame([("a", 1), ("a", 1), ("b", 3)], ["C1", "C2"])
result_df = df1.intersectAll(df2).sort("C1", "C2")
result_df.show()
# +---+---+
# | C1| C2|
# +---+---+
# | a| 1|
# | a| 1|
# | b| 3|
# +---+---+
df1 = spark.createDataFrame([(1, "A"), (2, "B")], ["id", "value"])
df2 = spark.createDataFrame([(2, "B"), (3, "C")], ["id", "value"])
result_df = df1.intersectAll(df2).sort("id", "value")
result_df.show()
# +---+-----+
# | id|value|
# +---+-----+
# | 2| B|
# +---+-----+