Today’s digital businesses are flooding with big and fast-moving data. The ability to trawl this data ocean and identify actionable insights can deliver a competitive advantage to any organization. WSO2 Analytics enables businesses to do just that by providing real-time, interactive, predictive and batch analysis capabilities together.
In this hands on session we will
Plug in the WSO2 Analytics platform to some common business use cases
Showcase the numerous capabilities of the platform
Demonstrate how to collect data and analyze, predict and communicate effectively
6. Collect Data
Define scheme for
data
Receive Events
Analyze
Realtime analytics with
Siddhi
incremental and batch
analytics with Spark
SQL
Intelligence with
Machine Learning
Communicate
Alerts
Dashboards
Interactive
Queries
API
8. Experian delivers a digital marketing platform, where CEP plays a key role to analyze in real-time
customers behavior and offer targeted promotions. CEP was chosen after careful analysis, primarily for
its openness, its open source nature, the fact support is driven by engineers and the availability of a
complete middleware, integrated with CEP, for additional use cases.
Eurecat is the Catalunya innovation center (in Spain) - Using CEP to analyze data from iBeacons
deployed within department stores to offer instant rebates to user or send them help if it detected that
they seem “stuck” in the shop area. They chose WSO2 due to real time processing, the variety of IoT
connectors available as well as the extensible framework and the rich configuration language. They
also use WSO2 ESB in conjunction with WSO2 CEP.
Pacific Controls is an innovative company delivering an IoT platform of platforms: Galaxy 2021. The
platform allows to manage all kinds of devices within a building and take automated decisions such as
moving an elevator or starting the air conditioning based on certain conditions. Within Galaxy2021,
CEP is used for monitoring alarms and specific conditions.Pacific Controls also uses other products
from the WSO2 platform, such as WSO2 ESB and Identity..
A leading airline uses CEP to enhance customer experience by calculating the average time to reach
their boarding gate (going through security, walking, etc.). They also want to track the time it takes to
clean a plane, in order to better streamline the boarding process and notify both the airline and
customers about potential delays. They evaluated WSO2 CEP first as they were already using our
platform and decided to use it as it addressed all their requirements.
9. Winning the Data in Motion Hack Week with AWS and Geovation, providing an impressive solution,
taking the data from many modes of transport and overlaying passenger flow/train loading and pollution
data, and allowing users to plan a route based on how busy their stations/routes are, whilst also taking
air quality into account.
DEBS (Distributed Event Based Systems) Chalance in Smart Home electricity data: 2000 sensors, 40
houses, 4 Billion events. We posted fastest single node solution measured (400K events/sec) and
close to one million distributed throughput. WSO2 CEP based solution is one of the four finalists, and
the only generic solution to become a finalist.
Build solution to search, visualize, analyze healthcare records (HL7) across 20 hospitals in Italy, with
the combination of WSO2 ESB.
Foods supply company in USA, detects anomalies such as delivery delays and provides personalized
notifications, and makes order recommendations based on history.
17. define stream <event stream>
(<attribute> <type>,<attribute> <type>, ...);
from <event stream>
select <attribute>,<attribute>, ...
insert into <event stream> ;
18. define stream SoftDrinkSales
(region string, brand string, quantity int, price double);
from SoftDrinkSales
select brand, quantity
insert into OutputStream ;
Output Streams are inferred
19. from SoftDrinkSales
select brand, avg(price*quantity) as avgCost,‘USD’ as currency
insert into AvgCostStream
from AvgCostStream
select brand, toEuro(avgCost) as avgCost,‘EURO’ as currency
insert into OutputStream ;
Enriching Streams
Using Functions
20. from SoftDrinkSales[region == ‘USA’ and quantity > 99]
select brand, price, quantity
insert into WholeSales ;
from SoftDrinkSales#window.time(1 hour)
select region, brand, avg(quantity) as avgQuantity
group by region, brand
insert into LastHourSales ;
Filtering
Aggregation over 1 hour
Other supported window types:
timeBatch(), length(), lengthBatch(), etc.
21. define stream Purchase (price double, cardNo long,place string);
from every (a1 = Purchase[price < 10] ) ->
a2 = Purchase[ price >10000 and a1.cardNo == a2.cardNo ]
within 1 day
select a1.cardNo as cardNo, a2.price as price, a2.place as place
insert into PotentialFraud ;
22. define stream StockStream (symbol string, price double, volume int);
partition by (symbol of StockStream)
begin
from t1=StockStream,
t2=StockStream [(t2[last] is null and t1.price < price) or
(t2[last].price < price)]+
within 5 min
select t1.price as initialPrice, t2[last].price as finalPrice,t1.symbol
insert into IncreaingMyStockPriceStream
end;
24. from Purchase#window.length(1) join CardUserTable
on Purchase.cardNo == CardUserTable.cardNum
select Purchase.cardNo as cardNo, CardUserTable.name as name,
Purchase.price as price
insert into PurchaseUserStream ;
from CardUserStream
select name, cardNo as cardNum
update CardUserTable
on CardUserTable.name == name ;
Similarly insert into and
delete are also supported!
Join