Это моя вторая попытка использования SerDe.Сначала все работало тихо, но теперь я действительно борюсь.
Я получил XML этой структуры:
Это таблица Hive, которую я создал
CREATE TABLE raw_abc.text_abc
(
publicationid string,
parentid string,
id string,
level string,
usertypeid string,
name string,
assetcrossreferences_ordered string,
assetcrossreferences MAP<string, string>,
attributenames_ordered string,
attributenames map<string,string>,
seo_ordered string,
seo MAP<string, string>
)
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
WITH SERDEPROPERTIES (
"column.xpath.publicationid"="/ST:ECC-HierarchyMessage/@PublicationID",
"column.xpath.parentid"="/ST:ECC-HierarchyMessage/Product/@ParentID",
"column.xpath.id"="/ST:ECC-HierarchyMessage/Product/@ID",
"column.xpath.level"="/ST:ECC-HierarchyMessage/Product/@Level",
"column.xpath.usertypeid"="/ST:ECC-HierarchyMessage/Product/@UserTypeID",
"column.xpath.name"="/ST:ECC-HierarchyMessage/Product/@Name",
"column.xpath.assetcrossreferences_ordered"="/ST:ECC-HierarchyMessage/Product/AssetCrossReferences/@Ordered",
"column.xpath.assetcrossreferences"="/ST:ECC-HierarchyMessage/Product/AssetCrossReferences/AssetCrossReference",
"column.xpath.attributenames_ordered"="/ST:ECC-HierarchyMessage/Product/AttributeNames/@Ordered",
"column.xpath.attributenames"="/ST:ECC-HierarchyMessage/Product/AttributeNames/@Ordered",
"column.xpath.seo_ordered"="/ST:ECC-HierarchyMessage/Product/SEO/@Ordered",
"column.xpath.seo"="/ST:ECC-HierarchyMessage/Product/SEO"
)
STORED AS
INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
location 's3a://ec-abc-dev/inbound/abc/abc/'
TBLPROPERTIES (
"xmlinput.start"="<ST:ECC-HierarchyMessage>",
"xmlinput.end"="</ST:ECC-HierarchyMessage>"
)
;
Таблица создана успешно, однако, когда я пытаюсь выбрать * из raw_abc.text_abc, я не получаю никаких записей взамен.Есть идеи, что здесь не так?Я провел последние 2 дня, пытаясь понять это без удачи.
Спасибо, G