0
ログデータがあり、変数に各情報を抽出したい豚スクリプトでregexを使ってログから文字列を抽出する
以下は、1行のサンプルです。 {:id => 306、:name => "bblite"、:cpu => {:クォータ=> 4、:allocated => 4、:actual => 0}、:memory => {:quota => 8192 、:alloc => 8192、:actual => 8578}、:cluster_stats => {"wc1104" => {:cpu => 0、:mem = 8578}}}
すべてのIDを持つ変数が必要です、すべての名前を持つ変数、CPUを持つ変数、すべてのクラスター統計を持つ変数
以下は、私の豚スクリプトの一部です。私はidsを格納することができますが、私は正規表現を使用して残りの部分をどのように抽出するのか分かりません。
。 。 。
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;