怎么用Apache Spark的spark-xml包读取XML数据

admin 百科 23
用 spark-xml 读取 XML 需先添加对应 Spark/Scala 版本的依赖,再通过 DataFrameReader 的 xml 方法加载,关键指定 rowTag 选项以标识记录节点,支持属性前缀、文本列名等解析控制,但不原生支持命名空间和非规则结构。

怎么用Apache Spark的spark-xml包读取XML数据-第1张图片-佛山资讯网

用 Apache Spark 的 spark-xml 包读取 XML 数据,核心是先添加依赖,再调用 DataFrameReaderxml 方法。它不是 Spark 内置格式,必须显式引入第三方包。

添加 spark-xml 依赖

根据你的 Spark 和 Scala 版本选择对应版本的 spark-xml。常见组合:

  • Spark 3.5.x + Scala 2.12 → com.databricks:spark-xml_2.12:0.17.0
  • Spark 3.4.x + Scala 2.12 → com.databricks:spark-xml_2.12:0.16.0
  • Spark 3.3.x + Scala 2.12 → com.databricks:spark-xml_2.12:0.15.0

启动 spark-shell 时用 --packages 参数加载:

spark-shell --packages com.databricks:spark-xml_2.12:0.17.0

或在 PySpark 中用 SparkSession.builder.config("spark.jars.packages", "...") 设置。

基础读取方式(Scala/Python)

XML 文件需有统一根节点和结构化子元素(如每条记录是 <row>...</row>),否则解析可能失败。

Scala 示例:

val df = spark.read.format("xml")
  .option("rowTag", "book")
  .load("books.xml")

Python(PySpark)示例:

标签: python apache 工具 session

发布评论 0条评论)

还木有评论哦,快来抢沙发吧~