Я работаю на потоковом процессоре 4.3.0.Я столкнулся с одним сценарием, в котором я помещаю некоторые потоки данных в таблицу rdbms, используя siddhiapp.Используя siddiapp, я ввожу данные в таблицу RDBMS, как показано ниже:
Теперь я использую другой SiddhiApp для получения данных, но мне хотелось быпопытаться извлечь данные таким образом, как показано ниже:
Поскольку общие столбцы сжимаются, чтобы попасть в одну строку и столбец, имеющий количествотеперь суммируются, чтобы получить окончательную сумму по всем подсчетам.
Может кто-нибудь, пожалуйста, подскажите мне, как действовать здесь.
Заранее спасибо
вот приложение, чтобы получитьобщая сумма
@App:name("IncomingStream3")
@App:description("Description of the plan")
-- Please refer to https://docs.wso2.com/display/SP400/Quick+Start+Guide on getting started with SP editor.
--@store(type = 'rdbms', datasource = 'APIM_ANALYTICS_DB')
--@purge(enable='false', interval='60 min', @retentionPeriod(sec='1 day', min='72 hours', hours='90 days', days='1 year', months='2 years', years='3 years'))
define stream TempStatsStream (AGG_TIMESTAMP long, AGG_EVENT_TIMESTAMP long, apiName string, apiVersion string, apiResourcePath string,apiCreator string,username string, applicationConsumerKey string, AGG_LAST_EVENT_TIMESTAMP long, applicationName string, dateTime string, AGG_COUNT int);
define aggregation StatsToCal
from TempStatsStream
select apiName, apiVersion, apiResourcePath, apiCreator, username, applicationName,
applicationConsumerKey, SUM (AGG_COUNT) as totalRequestCount, dateTime
group by apiName, apiVersion, apiResourcePath, username, applicationConsumerKey
aggregate by dateTime every days;
Единственное изменение, которое я сделал здесь, - вместо того, чтобы извлекать значение из таблицы БД, я рассматриваю его как поток (так как агрегирование может быть сделано только для потока, я полагаю).