Hive XML Serde - Разбор строк с переносами строк

Я использую hivexmlserde-1.0.5.3 проанализировать данные XML в таблицы Hive. Я сталкиваюсь с проблемой, когда пытаюсь проанализировать теги, в которых есть разрывы строк, что-то вроде этого:

<item>
    <itemid>1</itemid>
    <contents subscript = "n">
        <name>Item1</name>
        <details>Line 1 with a line break. 
        Line 2 here, which is not being read.</details>
    </contents>
</item>

Это чтение только первой строки, когда я пытаюсь разобрать его с помощью следующего:

    DROP TABLE IF EXISTS db.tbl;
    CREATE EXTERNAL TABLE db.tbl  (
      ID STRING COMMENT '',
      CONTENTS ARRAY<STRUCT<
      subscript:STRING,
      contents:struct<Name:STRING,Details:STRING>>> COMMENT '') COMMENT ''
        ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
        WITH SERDEPROPERTIES (
        "column.xpath.OB_CASE_ID"="/item/itemID/text()",
        "column.xpath.HISTORICAL_INTERACTION"= "/item/contents")
        STORED AS
        INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
        OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
        LOCATION '${stagingFolderPath}'
        TBLPROPERTIES ("xmlinput.start"="<item>","xmlinput.end"="</item>");

Есть ли что-то, что я делаю не так или есть лучший способ сделать это? Любая помощь будет оценена.

ТИА

1 ответ

Я не мог найти способ для анализа данных с разрывами строк в них. Но я мог бы удалить разрывы строк из данных (или вы могли бы заменить его каким-нибудь собственным маркером). Таким образом, я смог проанализировать данные, как я и ожидал. Надеюсь это поможет. Приветствия.

Другие вопросы по тегам