Unlock a world of possibilities! Login now and discover the exclusive benefits awaiting you.
I've got a QVD with the following fields:
Date
Hour,
Minute,
Server,
Main_metric,
sub_Metric,
value
I need to create a new value based on the following sub_Metrics:
( kbmemused - (kbcached + kbbuffers) ) / (kbmemused + kbmemfree) * 100
Can anyone help out please?
Maybe something along these lines:
INPUT:
LOAD *, AutoNumberHash256(Server,Date,Hour,Minute) as Key;
LOAD Server,
Date,
Hour,
Minute,
Main_metric,
sub_Metric,
value
FROM
(qvd);
Aggregate:
LOAD Key,
(Sum(If(sub_Metric='kbmemused',value)) - (Sum(If(sub_Metric='kbcached',value)) + Sum(If(sub_Metric='kbbuffers',value)) ) ) / (Sum(If(sub_Metric='kbmemused',value)) + Sum(If(sub_Metric='kbmemfree',value))) * 100 as Aggregate
RESIDENT INPUT
WHERE Match(sub_Metric,'kbmemused','kbcached','kbbuffers','kbmemfree')
GROUP BY Key;
edit: seems like I missed a pair of parenthesis
Maybe something along these lines:
INPUT:
LOAD *, AutoNumberHash256(Server,Date,Hour,Minute) as Key;
LOAD Server,
Date,
Hour,
Minute,
Main_metric,
sub_Metric,
value
FROM
(qvd);
Aggregate:
LOAD Key,
(Sum(If(sub_Metric='kbmemused',value)) - (Sum(If(sub_Metric='kbcached',value)) + Sum(If(sub_Metric='kbbuffers',value)) ) ) / (Sum(If(sub_Metric='kbmemused',value)) + Sum(If(sub_Metric='kbmemfree',value))) * 100 as Aggregate
RESIDENT INPUT
WHERE Match(sub_Metric,'kbmemused','kbcached','kbbuffers','kbmemfree')
GROUP BY Key;
edit: seems like I missed a pair of parenthesis
Hi,
Refer this app,