0
<Search>
<Country>USA</Country>
<Region>West</Region>
<Address>
<Home>
<Item>
<id>Number</id>
<value>135</value>
</Item>
<Item>
<id>Street</id>
<value>Pacific</value>
</Item>
<Item>
<id>City</id>
<value>Irvine</value>
</Item>
</Home>
<Home>
<Item>
<id>Number</id>
<value>1672</value>
</Item>
<Item>
<id>Street</id>
<value>Madison</value>
</Item>
<Item>
<id>City</id>
<value>Denver</value>
</Item>
</Home>
</Address>
我试图创建下面的表结构,但我没有得到期望的结果蜂房XML-SERDE - 键/值对 - 地图
我试图创建下面的表结构,但我我没有得到 我试图创建下面的表结构,但我没有得到 我试图创建下面的表结构所期望的结果,但我没有得到期望的结果
Country Region Map
USA West {Number:135,Street:Pacific,City:Irvine}
USA West {Number:1672,Street:Madison,City:Denver}
`CREATE EXTERNAL TABLE search(
country string,
region string,
search array<struct<item:map<string,string>>>
)
PARTITIONED BY(date STRING)
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
WITH SERDEPROPERTIES(
"column.xpath.country" = "/Search/country/text()",
"column.xpath.region" = "/Search/region/text()",
"column.xpath.item"="/Search/Address/Home/Item"
)
STORED AS
INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
LOCATION '/search'
TBLPROPERTIES (
"xmlinput.start"="",
"xmlinput.end"=""
);
是期望的结果这可能或任何其他建议如何以上述格式获取这些数据。任何帮助都会很棒。谢谢。 `
我能够得到这种格式 美国WEST [号码,街道,城市] [135,太平洋,欧文] 美国西部数据[NUMBER,Street,City] [1672,Madison,Denver] 如何从那里获得以下格式 USA WEST [编号:135,Street:Pacific,City:Irvine] USA WEST [编号:1672街:麦迪逊市:掘金] – Paciferous