Spark DataFrame xml 更改列名称

Spark DataFrame xml change column name

我正在尝试使用 DataBricks Spark XML 加载 XML 个文件。 我能够正确加载数据,但我需要更改其中一列的名称并将其作为单独的标记放在架构中。基本上,很少有标签需要生成为数据中没有的 null。(这些字段在 XSD 中)。

示例:-

root
  First Tag
     Element Name
     Second Tag ( Tag To Change)
        Tag3
        Tag4

我需要换成

root
  First Tag
     Element Name
     Second Tag 
        Tag3
        Tag4
     Third Tag 
        Tag3
        Tag4

我尝试了很多方法:-(我无法手动添加模式)。

  1. withColumn.- >(使用此选项我可以添加新列,但在根级别,我需要将其添加到确定的层次结构中。)
  2. withColumnRenamed ->(此选项不会更改任何内容)。

感谢任何帮助!

这样做没有捷径,因为它不允许更改超过 1 级的架构。

因此您可能会考虑将复杂标签分解为 1 级简单标签,包括用于识别和连接记录的主键。

获得简单标签后,使用 columnRenamed 或其他选项,您可以更改数据类型并使用主键重新加入以创建原始数据框(但修改名称或类型)。