我想使用Spark(spark-xml版本0.13.0 scala 2.11)从xml文件中提取rootTag元素,但是无法实现。例如,xml如下所示:
<?xml version="1.0"?>
<catalog>
<dt_creation>13-03-2023</dt_creation>
<book id="bk101">
<author>Gambardella, Matthew</author>
<title>XML Developer's Guide</title>
<price>44.95</price>
<publish_date>2000-10-01</publish_date>
<description>
Oracle Streams Advanced Queuing XMLType support.
</description></book><book id="bk102">
<price>5.95</price>
</book>
</catalog>
我想使用spark代码从rootTag中dt_creation字段,如下所示:
val df = sparkSession.read
.format("xml")
.option("rootTag", "catalog")
.option("rowTag", "book")
.load(above-xml-file)
df.select("dt_creation").collect()
它会导致
邮件地址:“org.apache.spark.sql.无法解析给定输入列的“dt_creation
”:[描述、价格、流派、发布日期、标题、ID、作者];; '项目[' dt_创建]
如何真正地提取存在于rowTag之外的rootTag元素?
1条答案
按热度按时间xfb7svmp1#
我认为不可能获取rootTag属性。请参考此问题:https://github.com/databricks/spark-xml/issues/503