spark xml:需要struct类型但有字符串;

时间:2018-10-24 19:26:22

标签: apache-spark pyspark apache-spark-sql databricks

我有一个包含XML文件的文件夹,我们假定这些文件具有相同的结构。但是由于生成这些文件的应用程序中的错误,其中一些文件不完整:

预期结构:

root
 |-- R: struct (nullable = true)
 |    |-- LTI: struct (nullable = true)
 |    |    |-- C: long (nullable = true)
 |    |    |-- V: long (nullable = true)
 |    |-- MFV: string (nullable = true)

需要被忽略的结构:

root
 |-- R: struct (nullable = true)
 |    |-- LTI: long (nullable = true)
 |    |-- MFV: string (nullable = true)

这就是我解析的方式

df = spark.read \
  .format("com.databricks.spark.xml") \
  .options(rowTag="RList") \
  .load("/mnt/data/uploads/*/*/*/RList.xml")

df.select(
  "R.LTI.C", 
  "R.LTI.V", 
  "R.MFV", 
).show()

这就是我试图加载不完整的XML时所捕捉到的

Can't extract value from R#204.LTI: need struct type but got string;"

我的问题是如何忽略此类文件?

0 个答案:

没有答案