我有日志数据,我想把每个信息提取到一个变量中
以下是单行日志示例{:id=>306,:name=>“bblite”,:cpu=>{:quota=>4,:allocated=>4,:actual=>0},:memory=>{:quota=>8192,:allocated=>8192,:actual=>8578},:cluster\u stats=>{“wc1104”=>{:cpu=>0,:mem=>8578}}
我需要一个具有所有ID的变量,一个具有所有名称的变量,一个具有CPU的变量和一个具有所有集群统计信息的变量
下面是我的Pig脚本的一部分。我可以存储id,但是我不知道如何使用regex提取其余的id。
. . .
matching_messages = FILTER raw_lines BY (LOWER(message) MATCHES '.*cc_altus-plaform.*');
ids = FOREACH matching_messages GENERATE REGEX_EXTRACT(message,'id=>\\d*',0);
names = FOREACH matching_messages GENERATE REGEX_EXTRACT(message,'name=>\\"\\",',0);
line_with_date = FOREACH matching_messages GENERATE
DateFormatter(timestamp) AS formatted_time: chararray, message;
DUMP names;
1条答案
按热度按时间kr98yfug1#
下面的代码片段是我编写的正则表达式,它可以工作: