Hive XML SerDe - добавить постоянное значение в столбец
У меня есть таблица Hive, как показано ниже. Я хотел бы, чтобы первый столбец был постоянным значением (его нет в файле XML). если я жестко закодировал значение, оно не отображается при выборе элемента в таблице... что я делаю неправильно? Я также попытался использовать оператор concatenate (с фиктивным xpath и добавлением строки)... все еще не повезло... любая помощь приветствуется...
`
CREATE EXTERNAL TABLE IF NOT EXISTS raw_RMS_20170629(
SourceSystem STRING,
Account STRING,
Action STRING,
AllocationType STRING,
AlternativeTradeId STRING,
...
...
ROW FORMAT SERDE 'com.ibm.spss.hive.serde2.xml.XmlSerDe'
WITH SERDEPROPERTIES (
"column.xpath.SourceSystem"="RMS",
"column.xpath.Account"="Trade/Account/text()",
"column.xpath.Action"="Trade/Action/text()",
"column.xpath.AllocationType"="Trade/AllocationType/text()",
...
...
Пример данных ниже. Внешняя таблица создается динамически каждый раз при запуске рабочего процесса oozie, и я хотел бы добавить постоянное поле (sourcesystem = RMS или.. GSS и т. Д., Когда я создаю таблицу)
<queryReply>
<Trade xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:rms="http://www.example.org/store/schema/abc/durables/rms"
xmlns:rms-raw="http://www.example.org/td/tm/lite/rms-raw/v1.0">
<Account>AKA</Account>
<Action xsi:nil="true"/>
<AllocationType xsi:nil="true"/>
<TradeId>
<rms:SYSTEMID>97926437</rms:SYSTEMID>
</TradeId>
<TradeVersion>
<rms:VERSION>1</rms:VERSION>
</TradeVersion>
<InstrumentId xsi:nil="true"/>
<TraderSourceSystemName xsi:nil="true"/>
<TraderId xsi:nil="true"/>
<TraderName xsi:nil="true"/>
<TraderEmail xsi:nil="true"/>
<TradeStatus>Open</TradeStatus>
...
...
<Currency/>
<UnderlyingCurrency>
<UNDERCURRENCY>USD</UNDERCURRENCY>
</UnderlyingCurrency>
<ExpiryDate xsi:nil="true"/>
<FuturesExpiryDate xsi:nil="true"/>
<FutureSubType xsi:nil="true"/>
<CashBalance xsi:nil="true"/>
<FutureCode xsi:nil="true"/>
<UnderlyingExchange xsi:nil="true"/>
<CorrelationId xsi:nil="true"/>
</Trade>
</queryReply>