使用模式加载 Parquet 数据/使用 XSD 验证 XML

Loading Parquet data using schema / using XSD to validate XML

我有一些 XML 文件需要存储在 XSD 文件给定的结构中,在 parquet/avro 中。 XML/XSD 文件包含重复的标签标题(可能出现两次)所以我选择使用 Parquet,因为 Avro 不支持它。

我想进行 XML 检查它是否有效(针对 XSD 文件)以及 xsd 元素存在的地方 XML =],我只想将该值存储为 NULL。

在我看来,我有两个选择:

1) 使用 scala 检查 xml 与 xsd,如果有效则(以某种方式)用 NULL 填充任何差异并存储为镶木地板。

2) 检查 xml 有效性然后使用 XSD 文件的 parquet 版本的模式插入 xml 文件的 paquet 数据。

我不完全确定该怎么做,所以我希望得到指点,以确保我不会在错误的方向上浪费时间。

我没有找到我想要的解决方案,但使用 unix 进行验证非常容易。

xmllint -schema xsdfile xmlfile --noout