我想把非结构化数据转换成结构化形式。数据的形式如下-(显示1行数据)
Agra - Ahmedabad### Sat, 24 Jan### http://www.cleartrip.com/m/flights/results?from=AGR&to=AMD&depart_date=24/01/2015&adults=1&childs=0&infants=0&class=Economy&airline=&carrier=&intl=n&page=loaded Air India### 15:30 -
14:35### 47h 5m, 3 stops , AI 406### Rs. 30,336###
我想用ApachePig提取以下格式的数据
(Agra - Ahmedabad,Sat, 24 Jan,http://www.cleartrip.com/m/flights/results?from=AGR&to=AMD&depart_date=24/01/2015&adults=1&childs=0&infants=0&class=Economy&airline=&carrier=&intl=n&page=loaded,Air India,15:30 - 14:35,47h 5m, 3 , AI 406 , 30,336)
我在apache pig中使用以下行:
A = LOAD '/prodqueue_cleartrip_23rdJan15.txt' using PigStorage as (value: chararray);
B = foreach A generate REGEX_EXTRACT_ALL('value', '([^#]+)#+\\s+([^#]+)#+\\s+([^\\s]+)\\s+([^#]+)#+\\s+([0-9]{1,2}:[0-9]{1,2}\\s-\\n[0-9]{1,2}:[0-9]{1,2})#+\\s+([^,]+),\\s([0-9]+)\\sstops\\s,\\s([^#]+)#+\\s+Rs.\\s([^#]+)#+
');
C = LIMIT B 5;
我得到的结果是:
()
()
()
()
()
怎么了?
1条答案
按热度按时间ql3eal8s1#
这可能只是你的问题的一个拼写错误,但是
只需搜索一个文本“值”。您可能希望去掉单个引号,使其与字段值匹配。