spark.sql.types package中有一个merge
方法:
private[sql] def merge(that: StructType): StructType
它是私有的特定原因吗?我想在我的项目中使用它,除了复制代码还有其他方法吗?
答案 0 :(得分:1)
我知道已经很晚了,但希望我的回答可以对其他人有所帮助
因此,我发现 StructType.merge() 未包含在spark版本> 2.x
中但是,如果您将Spark与Java一起使用,但仍不支持,则仍然可以使用 StructType.merge() 。
通过Scala解决Spark:
val consolidatedSchema = test1Df.schema.++:(test2Df.schema).toSet
val uniqueConsolidatedSchemas = StructType(consolidatedSchema.toSeq)
使用Java闪烁:
StructType consolidatedSchema = test1Df.schema().merge(test2Df.schema());
如果需要,可以将Java和Scala与相同版本的Spark一起使用。