Как записать / добавить атрибут в rowTag XML-файла, сгенерированного с помощью блока данных scala - PullRequest
1 голос
/ 21 октября 2019

Мне нужно создать такую ​​структуру, как <book book-id=123> Книга - это тег строки. Я использую блок данных со scala для написания XML.

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

Как добавить атрибут book-id в книгу rowTag?

1 Ответ

0 голосов
/ 22 октября 2019

Чтобы создать атрибуты в 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")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...