我正在尝试解析存储在 Hive 表中的一些数据。
比方说。
Hive> SELECT * FROM fulldatatable LIMIT 1;
SELECT xpath( 'xml data from the previous command') SELECT src LIMIT 1;
我的问题是如何在xpath
查询中加载第一个?
谢谢,
您可以从第一个选择创建一个视图,然后使用 xpath UDF 查询该视图。
例如:
Initial tables:
hive> describe table1;
id int
f1 string
f2 string
f3 string
f4 string
hive> select * from table1;
1 <a> <b>1</b> <b>1</b> </a>
2 <a> <b>1</b> <b>2</b> </a>
3 <a> <b>1</b> <b>3</b> </a>
Another table:
hive> describe ranks;
id int
text string
hive> select * from ranks;
1 good
2 bad
3 worst
Create a view:
hive> create view xmlout(id, line) as select id, concat(f1,f2,f3,f4) from table1;
Then:
hive> select xpath_short(x.line, 'sum(a/b)'), r.text from xmlout x
join ranks r on (x.id = r.id);
2 good
3 bad
4 worst