<agecat>1</agecat>
<edcat>1</edcat>
<jobcat>2</jobcat>
<empcat>2</empcat>
<retire>0</retire>
<jobsat>1</jobsat>
<marital>1</marital>
<spousedcat>1</spousedcat>
<residecat>4</residecat>
<homeown>0</homeown>
<hometype>2</hometype>
<addresscat>2</addresscat>
</demographics>
<financial>
<income>18</income>
<creddebt>1.003392</creddebt>
<othdebt>2.740608</othdebt>
<default>0</default>
</financial>
</record>
</records>
würde durch die folgende Hive-DLL dargestellt werden:
CREATE TABLE xml_bank(customer_id STRING, demographics map<Zeichenfolge,Zeichenfolge>,
financial map<Zeichenfolge,Zeichenfolge>)
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
WITH SERDEPROPERTIES (
"column.xpath.customer_id"="/record/@customer_id",
"column.xpath.demographics"="/record/demographics/*",
"column.xpath.financial"="/record/financial/*"
)
STORED AS
INPUTFORMAT 'com.ibm.spss.hive.serde2.xml.XmlInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.IgnoreKeyTextOutputFormat'
TBLPROPERTIES (
"xmlinput.start"="<record customer",
"xmlinput.end"="</record>"
);
Weitere Informationen finden Sie in „Zuordnung von XML zu Hive-Datentypen".
2. Erstellen Sie eine Analytic Server-Datenquelle mit HCatalog-Inhaltstyp in der Analytic Server-Konsole.
Einschränkungen
v Zurzeit wird nur die XPath 1.0-Spezifikation unterstützt.
v Bei der Handhabung von Hive-Feldnamen wird nur der lokale Teil der qualifizierten Namen für die
Elemente und Attribute verwendet. Die Namensbereichspräfixe werden ignoriert.
Zuordnung von XML zu Hive-Datentypen: Die in XML modellierten Daten können anhand der nach-
folgend aufgeführten Konventionen in Hive-Datentypen transformiert werden.
Strukturen
Das XML-Element kann dem Hive-Strukturtyp direkt zugeordnet werden, sodass alle Attribute zu Daten-
einträgen werden. Der Inhalt des Elements wird zu einem zusätzlichen Eintrag mit primitivem oder kom-
plexem Typ.
XML-Daten
<result name="ID_DATUM">03.06.2009</result>
Hive-DDL und Rohdaten
struct<name:Zeichenfolge,result:Zeichenfolge>
{"name":"ID_DATUM", "result":"0.3.06.2009"}
Arrays
Die XML-Sequenzen von Elementen können als Hive-Arrays mit primitivem oder komplexem Typ darge-
stellt werden. Das folgende Beispiel zeigt, wie der Benutzer ein Array mit Zeichenfolgen unter Verwen-
dung des Inhalts des XML-Elements <result> definieren kann.
Kapitel 1. Analytic Server-Konsole
17