如何在配置单元中加载分隔符输入文件的组合类型?

时间:2017-05-31 16:28:42

标签: hadoop hive hiveql

如何在配置单元中加载分隔符输入文件的组合类型? 输入文件将包含“”和xml ...如何加载和处理数据 例如,输入数据是 -
"hi"|"welcome"|"to"|India|<xml>data</xml>
如果我们面临这样的问题怎么办?

请提前感谢任何想法或例子。

我需要加载 hi | welcome | to | india | data,这里有如何在将数据加载到配置单元时附加xml数据?

1 个答案:

答案 0 :(得分:0)

<强> RegexSerDe

create external table mytable (c1 string,c2 string,c3 string,c4 string,c5 string)
row format serde 'org.apache.hadoop.hive.contrib.serde2.RegexSerDe'
with serdeproperties  
(
    'input.regex' = '(".*?"|[^|]*)\\|(".*?"|[^|]*)\\|(".*?"|[^|]*)\\|(".*?"|[^|]*)\\|(.*)'
)
;
select * from mytable
;
+------+-----------+------+-------+-----------------+
|  c1  |    c2     |  c3  |  c4   |       c5        |
+------+-----------+------+-------+-----------------+
| "hi" | "welcome" | "to" | India | <xml>data</xml> |
+------+-----------+------+-------+-----------------+