如何使用 AWS Glue XML 分类器?

How can I use the AWS Glue XML classifier?

我正在尝试使用 AWS Glue 分类器发现一组 XML 文件的架构。我将文件存储在 s3 存储桶中,如下所示:

s3://bucket/name_of_dataset/dataset.xml

每个数据集只有一个 xml 文件,因此没有分区。我经常使用 spark-xml 通过简单地指定 rowtag 将它们拉入 spark。但是,当我尝试使用 XML classifier 在 AWS glue 中执行类似操作时,数据集最终在 Glue 目录中作为 "unknown" 分类。出现了一个数据集(每个 xml 数据集都有不同的模式),但模式似乎 "discover" 是一个嵌套的行标签,而不是我指定的行标签。

更具体地说,如果我将此文件存储在 s3://mybucket/experiment/experiment.xml,我应该将什么指定为行标签(这似乎是唯一的参数)?有没有更好的地方可以寻求支持?

<?xml version="1.0" encoding="UTF-8"?>
<EXPERIMENT_SET>
  <EXPERIMENT xmlns="" alias="GSM1627835" accession="SRX913316" center_name="GEO">
    <IDENTIFIERS>
      <PRIMARY_ID>SRX913316</PRIMARY_ID>
      <SUBMITTER_ID namespace="GEO">GSM1627835</SUBMITTER_ID>
    </IDENTIFIERS>
    <TITLE>GSM1627835: Human_normal_blsatoyst_MethylC-seq_1; Homo sapiens; Bisulfite-Seq</TITLE>
    <STUDY_REF accession="SRP064113">
      <IDENTIFIERS>
        <PRIMARY_ID>SRP064113</PRIMARY_ID>
        <EXTERNAL_ID namespace="BioProject">PRJNA296788</EXTERNAL_ID>
      </IDENTIFIERS>
    </STUDY_REF>
    <DESIGN>
      <DESIGN_DESCRIPTION/>
      <SAMPLE_DESCRIPTOR accession="SRS868521">
        <IDENTIFIERS>
...

提前致谢。

我们与 AWS 技术支持合作的 XML 源也遇到了类似的问题。 XML 爬虫似乎存在错误,如果 XML 值为空(在您给出的示例中,xmlns 的值为“”),爬虫似乎跳过您定义的分类器并默认为最有可能来自 XML.

中的嵌套行的行标记

他们正在努力解决同样的问题,很可能会在本周或下周发布。

希望对您有所帮助。