如何在通过scala databrick生成的XML文件的rowTag中写入/添加属性

问题描述 投票:1回答:1

我必须创建像<book book-id=123>书这样的结构是行标记。我正在使用带有scala的databrick来编写XML。

df.repartition(1)
  .write
  .format("com.databricks.spark.xml")
  .option("rootTag", "category")
  .option("rowTag", "book")
  .mode("overwrite")
  .save("bookdetail")

如何在书籍book-id中添加属性rowTag

scala databricks
1个回答
0
投票

通过添加以特殊前缀开头的列,可以在XML中创建属性。从文档:

attributePrefix:属性的前缀,以便我们可以区分属性和元素。这将是字段名称的前缀。默认值为_。

因此,在您的情况下,您只需向数据集添加其他列:

df
    .withColumn("_book-id", $"id") //this column is prefixed with _
    .repartition(1)
    .write
    .format("com.databricks.spark.xml")
    .option("rootTag", "category")
    .option("rowTag", "book")
    .mode("overwrite")
    .save("C:\\Users\\RK03GJ\\ProcesDevel\\dump")
© www.soinside.com 2019 - 2024. All rights reserved.