我正在处理Hive表,遇到了以下问题。我在HDFS中有超过10亿个XML文件。我的目标是将每个XML文件中的4个不同部分分割并加载到每个表中。
我有四张表格。
但是我得到了以下错误。
例如:
<?xml version='1.0' encoding='iso-8859-1'?>
<section1>
<id> 1233222 </id>
// having lot of xml tages
</section1>
<section2>
// having lot of xml tages
</section2>
<section3>
// having lot of xml tages
</section3>
<section4>
// having lot of xml tages
</section4>
</xml>
我有四张表格。
section1Table
id section1 // fields
section2Table
id section2
section3Table
id section3
section4Table
id section4
现在我想将数据拆分并加载到各个表中。
我该如何实现?有人能帮我吗?
谢谢。
更新
我已经尝试了以下方法:
CREATE EXTERNAL TABLE test(name STRING) LOCATION '/user/sornalingam/zipped/output/Tagged/t1';\
SELECT xpath (name, '//section1') FROM test LIMIT 1 ;
但是我得到了以下错误。
java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row {"name":"<?xml version='1.0' encoding='iso-8859-1'?>"}