如何使用AWS Glue XML分类器?

时间:2018-02-18 23:46:08

标签: xml amazon-web-services aws-glue

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

s3://bucket/name_of_dataset/dataset.xml

每个数据集只有一个xml文件,因此没有分区。我通过简单地指定rowtag,经常使用spark-xml将它们拉入spark。但是,当我尝试使用XML classifier在AWS胶水中做类似的事情时,数据集最终会在胶水目录中显示为"未知"分类。显示一个数据集(每个xml数据集具有不同的模式),但模式似乎"发现"嵌套的rowtag而不是我指定的rowtag。

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

<?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>
...

提前致谢。

1 个答案:

答案 0 :(得分:1)

我们的XML源与我们使用AWS技术支持有类似的问题。看起来XML Crawler存在一个错误,如果有一个空值的XML值(在您给出的示例中,xmlns的值为&#34;&#34;),Crawler似乎跳过您定义的分类,默认为行标记,最有可能来自XML中的嵌套行。

他们正在努力修复相同的问题,很可能会在本周或下周发布。

希望这有帮助。