Skip to contents

Return a new SparkDataFrame containing the union of rows in this SparkDataFrame and another SparkDataFrame. This is different from union function, and both UNION ALL and UNION DISTINCT in SQL as column positions are not taken into account. Input SparkDataFrames can have different data types in the schema.

Usage

unionByName(x, y, ...)

# S4 method for SparkDataFrame,SparkDataFrame
unionByName(x, y, allowMissingColumns = FALSE)

Arguments

x

A SparkDataFrame

y

A SparkDataFrame

...

further arguments to be passed to or from other methods.

allowMissingColumns

logical

Value

A SparkDataFrame containing the result of the union.

Details

When the parameter allowMissingColumns is `TRUE`, the set of column names in x and y can differ; missing columns will be filled as null. Further, the missing columns of x will be added at the end in the schema of the union result.

Note: This does not remove duplicate rows across the two SparkDataFrames. This function resolves columns by name (not by position).

Note

unionByName since 2.3.0

Examples

if (FALSE) {
sparkR.session()
df1 <- select(createDataFrame(mtcars), "carb", "am", "gear")
df2 <- select(createDataFrame(mtcars), "am", "gear", "carb")
head(unionByName(df1, df2))

df3 <- select(createDataFrame(mtcars), "carb")
head(unionByName(df1, df3, allowMissingColumns = TRUE))
}