You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

在Databricks中使用PySpark读取XML文件时如何忽略注释

解决PySpark读取XML忽略注释的方案

方法1:使用spark-xml内置参数(推荐)

Databricks spark-xml 从v0.11.0版本开始原生支持忽略XML注释的配置,只需在读取参数中新增ignoreComments选项并设为True,即可自动过滤所有符合规范的XML注释块,包括文件开头的大块注释、节点内嵌注释都可以直接忽略:

df = spark.read \
      .format("com.databricks.spark.xml") \
      .option("rowTag", "person") \
      .option("ignoreComments", True) \
      .xml("src/main/resources/persons.xml")

方法2:文本预处理适配旧版本

如果环境中spark-xml版本低于v0.11.0不支持上述参数,可以先将XML文件作为纯文本读取,通过正则移除所有注释块后再解析:

import re

# 读取XML文件为纯文本RDD
xml_rdd = sc.wholeTextFiles("src/main/resources/persons.xml").map(lambda file_pair: file_pair[1])
# 正则匹配删除所有<!-- -->格式的注释块
clean_xml_rdd = xml_rdd.map(lambda content: re.sub(r'<!--[\s\S]*?-->', '', content))
# 解析处理后的XML内容
df = spark.read \
      .format("com.databricks.spark.xml") \
      .option("rowTag", "person") \
      .xml(clean_xml_rdd)

内容的提问来源于stack exchange,提问作者Naman Sinha

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.24 15:36:06