SlideShare a Scribd company logo
1 of 29
Download to read offline
Low latency high throughput streaming using
Apache Apex and Apache Kudu
Dataworks Summit 2017
Ananth Gundabattula
Hypothetical business case
Introduction Apex Kudu Q&A
2
• IOT style enabled end user devices
• Click Streams
• Smart phones - Accelerometer, Gyroscope
• Better fraud rules
• Behavioural analytics by ingesting Human activity
recognition feeds
• Did the user really travel to another Geo ?
• Does the user generally drive around this area ?
Introduction Apex Kudu Q&A
3
• Activity recognition stream is processed by a machine learning model to detect human activity
• Data needs to be processed well within a lower end of double digit millisecond time frames
• Data needs to be available for querying within a few milliseconds for operational analytics
Solution Goals
Introduction Apex Kudu Q&A
4
Apache Apex introduction
Low latency Distributed Streaming
Enterprise grade features
- Highly customisable DAG
- Checkpointing
- End to End Exactly once
- Hadoop Security compatible
- YARN enabled
1. 2. 3. 4.
Introduction Apex Kudu Q&A
5
Apache Kudu introduction
Tabular structure Distributed
Low latency
random access
Interesting features
- Auto compaction
- Mutable
- Columnar optimised storage
format
- Fault tolerant
- Hadoop ecosystem citizen
1. 2. 3. 4.
Introduction Apex Kudu Q&A
6
Apex as a streaming engine
<100 ms
Fraud vs No Fraud
Time dimension
Logical unit 1 Logical unit 2 Logical unit 3
VS
Time dimension
Logical unit 1 Logical unit 2 Logical unit 3
Introduction Apex Kudu Q&A
Apex - distributed engine
Scale up & Scale out
HAR is too much
Data
Time dimension
Logical unit 1a Logical unit 2a Logical unit 3
Time dimension
Logical unit 1b Logical unit 2b Logical unit 3
Time dimension
Logical unit 1c Logical unit 2c Logical unit 3
•YARN enabled
• Resource Managed
• MESOS support on the roadmap
Introduction Apex Kudu Q&A
Apex - application layout
RESTAPI
Bare Metal/ Cloud/Virtual
Hadoop - HDFS + YARN
All major distributions supported
Apex Streaming Runtime
High performance,Fault Tolerant,In-memory
App nApp 2App 1
…
APEX STACK APEX-CLI
Command line client
YARN RESOURCE MANAGER
YARN NM
M
C
C
YARN NM
C
C
M
YARN NM
C
M
C
Submit Job/
Manipulate
Highly Available App Master (M) -
Apex AM
Highly available
compute units
HDFS for Persistent
Storage
Capitaliseonexisting
Hadoopinvestments
Varied compute
profiles
Colocate YARN
traditional MR along with Apex
Applications - No Disruption
Introduction Apex Kudu Q&A
Apex application development model
•Stream is a sequence of data tuples
• An Operator consumes one or more input streams ,
processes tuples using custom business logic and emits to
one or more output streams
• DAG is made up of operators and streams
• Rich collection of operators available from Apache Malhar
• NOSQL - Cassandra, Geode ..
• Kudu
•Relational - JDBC
• Messaging - Kafka,JMS , Solace
• File Systems - HDFS , S3, NFS
• Nifi
•….
Kafka Input
Kafka Input
Kafka Input
Kudu
Output
Kudu
output
Cassandra
Enrich
Cassandra
Enrich
Cassandra
Enrich
Model
Scoring
Model
Scoring
Model
Scoring
Model
Scoring
Model
Scoring
Model
Scoring
Introduction Apex Kudu Q&A
Apex application deployment model
• Non-intrusive model to meet overall SLAs
• Different operators can be configured independently to meet SLA needs.
• Compute intensive vs I/O intensive
• Custom stream codecs enable configurable tuple routing patterns
KI CE MS KO
Logical model
KI
KI
KI
KO
KO
CE
CE
CE
MS
MS
MS
MS
MS
MS
Each operator needs its
own scaling to
meet SLAs
Deployment configuration
Introduction Apex Kudu Q&A
Unifiers
Functionality specific
scaling is causing
backpressure on
downstream operators
KI CE MS KO
CE
CE
CE
CE
CE
MS
MS
U
CE
CE
CE
CE
CE
MS
MS
U
U
Logical Plan
Bottleneck @Unifier
Scaled up unifiers
Introduction Apex Kudu Q&A
Parallel partitioning
I want to avoid shuffles
for the lowest cross
operator latencies
KI CE MS KOCO
Logical Plan
CEKI MS
CEKI MS
CEKI MS
CO KO
Parallel Partitioning
Introduction Apex Kudu Q&A
Dynamic partitioning
• Utilise hardware for nightly batch
compute needs
• Ex: Zip code based average
driving speeds for HAR Features
But most of the
activity feeds are only
during day time
KI CE MS KOCO
Logical Plan
KI
CEKI MS
KI
CO KO
Dynamic Partitioning
CEKI MS
CEKI MS
CEKI MS
CO KO
Daytime topology Nighttime topology
Introduction Apex Kudu Q&A
Pub sub
• High performant in-memory pub-sub messaging
• Provides ordering & idempotency for failure scenarios
• Buffers tuples in memory until the tuples are committed
• Spills to disk in back-pressure scenarios
I want a loosely coupled
operator binding for
throughput handling,
recovery …
T T T T T T
Cassandra Operator
T T T T T T
Model Scoring
CEKI
MS
MS
X
X
CEKI
MS
MS
Recoverability in parts of DAG
Introduction Apex Kudu Q&A
Checkpointing
• Non-intrusive streaming window markers
• In-memory processing of data & checkpointing at streaming window boundaries
• Configurable checkpoint store - HDFS backed store replicated & highly available
• One or multiple windows ( configurable ) make a checkpoint boundary
• Persist non-transient & Operator specific checkpointing data structure - Ex: Kafka : (C,T,P,O)
CHECKPOINTS
But machines fail /
Application
needs upgrade
T T T T T T T T T T T T T T TB B B B BE E E E ECP CP
R R
Streaming
Window
CP Checkpoint state
B Begin Streaming Window E End Streaming Window
Introduction Apex Kudu Q&A
Processing guarantees
But machines fail /
Application
needs upgrade B T T T T T T T T T T TB B BE E ECP
R
X
At Least Once
T T T T T T T T T T TB B BE E ECP
R
X
At most Once
T T T BE
To downstream Operator
To downstream Operator
Exactly Once = At least once + Idempotency ( Pub-Sub ) + Operator logic
Introduction Apex Kudu Q&A
Kudu output operator - Exactly once
I want exactly once
semantics but Kudu does not
support transactions
Exactly Once = At least once + Idempotency ( Pub-Sub ) + Operator logic
T T T T T T T T T T TB B BE E ECP
R
X
Exactly Once - Upstream window processing view
T T TBET T T
T
Safe Mode
Window/s
Reconciling
Mode
Normal
Mode
Automatically Skipped
Business Logic callback to
Exactly detect already written records
Introduction Apex Kudu Q&A
Apex Command line client
• Apex Command line client provides capabilities for
• Launching an apex application on the cluster
• Specifying configuration files and properties
• Managing lifecycle of an application - Kill, shutdown
• Change the logical plan of the running application
• We can add a new R operator with different configurations as a champion challenger
• Control operator properties at runtime
• Ex: Change the throttle config in the Kudu Input operator
• No downtime !!
I want to fine tune the
champion challenger scoring
model at runtime as an
experiment
KuduI R CO
Deployed application
KuduI
R CO
Experimentation mode application
R CO
Introduction Apex Kudu Q&A
Apex Kudu Integration
• Kudu Input Operator
• Scans a single table using a SQL expression using a distributed scan
approach
• ANTLR4 parser compensates for the missing JDBC driver for Kudu.
• Kudu Output Operator
• Used to mutate a single table basing on the context. Supports
• Insert
• Update
• Upsert
• Delete
• Available post 3.8.0 release of Malhar
I want to integrate Kudu
Introduction Apex Kudu Q&A
Kudu Output Operator
• Same POJO mapping to multiple
tables
•No extra transformation required
• Automatic schema detection
• Override Column name mapping if
required
Single Kafka payload
Message translates to
Device and Activity tables
CEKI MS
CEKI MS
CEKI MS
KO1
KO2
DeviceID First Seen LastSeen LastKnownGeo
• Can choose to write only a subset
of the column
• Ex: LastSeen can be updated
without reading FirstSeen
Not all columns of the
HAR device data is sent
all of the time
Introduction Apex Kudu Q&A
Kudu output operator Autometrics
•Apex engine allows for metrics collection and monitoring
• Termed as Autometrics
• Metrics are automatically aggregated over the entire instances of the operator
• Supports complex types as a metric construct
• Metrics are also available as a RESTAPI endpoint.
• Metrics supported by the Kudu output operator
• On a per window basis
• Inserts,updates,upserts,deletes, bytes written, write operations, write RPCs,
RPC errors, Operational errors
• On a global basis ( i.e. from start of application )
• Same as above
I want to monitor kudu
Operational metrics
Introduction Apex Kudu Q&A
Kudu Input Operator
• Scans a single kudu table
• Streams one row as POJO tuple to downstream Operators
• Accepts a SQL expression to determine the rows that need to be read
• The query processing is distributed across
• All Apex Operators that divide the stream work equally
• Disruptor Queue for maximum throughput
I want to scan and stream
data in Kudu
KuduI R KO
KuduI R KO
KuduI R KO
Query Plan
Introduction Apex Kudu Q&A
Kudu Input Operator Partitioning options
I want to optimise the
second application basing on
the number of kudu tablets
KuduI R KO
KuduI R KO
KuduI R KO
One to One mapping
KuduI R KO
KuduI R KO
Many to One mapping
KuduI R KO
Operator config allows for flexible Kudu tablet to Apex operator mapping
Introduction Apex Kudu Q&A
Kudu Input Operator Fault tolerance
Can I make use of Kudu
replication to account for
HA of input stream
processing
KuduI R KO
KuduI R KO
KuduI R KO
Introduction Apex Kudu Q&A
Kudu Input Operator Scan ordering
• Simple configuration switch to choose
between random order & consistent order
• Consistent ordering
•Automatically sets Fault tolerance to true
• Exactly once processing only possible in
Consistent ordering mode
• Results in lower throughput
Can I tune for throughput
or exactly once
semantics basing on
my requirements
Random order scanning
KuduI R KO
Consistent order scanning
KuduI R KO
Introduction Apex Kudu Q&A
Kudu Input Operator Control tuples
• Apex allows for control tuples ( user defined watermarks ) to be intermixed the data
tuples flowing in the DAG
• Kudu Input operator currently allows for
• Begin Query control tuple
• End query control tuple
• Control tuples are custom definable
• Ex: New query expression in a begin query control tuple
• Ex: Window time value at the end of the query processing
• Control tuples can be sent either sent at window boundaries or inline
• It is inline for Kudu Input operator
My model needs a different
scoring approach based on
the data set time window
Control tuple flow
T
Kudu Input operator
T T TEQBQ T T T TB B
R operator
R1 R1EQBQR2R2
Introduction Apex Kudu Q&A
Kudu input operator extensibility Time travel operator
•As part of SQL expression allows for setting
• Control Tuple END query message
• Kudu READ_SNAPSHOT_TIME
•Time Travel operator
•Each input query can scan the entire table ( with appropriate filters )
for data present at specified READ_SNAPSHOT_TIME time
• “SELECT * FROM TABLE where col1 = 234 using options
READ_SNAPSHOT_TIME = <3 A.M>”
I want to run a nightly
model basing
on the state of data at hourly
boundaries during the daytime
Introduction Apex Kudu Q&A
Production References
• GE prefix platform processes IOT streaming data for analytics at sub-millisecond time frames
• Capitol One
• 99.999 % uptime 24x7
• Single digit millisecond end to end latencies
• Threatmetrix data pipelines for visualising fraud patterns were processed at single digit millisecond
processing latencies
• These times exclude the latencies to write to a Cassandra cluster
• A leading global financial institution ( non-AUS)
• Demonstrate AML compliance
• Integrate with Teradata,Vertica and Hadoop
Introduction Apex Kudu Q&A
Q & A
• Apex Community http://apex.apache.org/
community.html
• Docs http://apex.apache.org/docs.html
•Powered by Apache Apex http://apex.apache.org/
powered-by-apex.html
• REST-API Server  https://github.com/atrato/atrato-server
• Twitter handle https://twitter.com/apacheapex
• Examples https://github.com/apache/apex-malhar/tree/
master/examples
030201
https://www.linkedin.com/in/ananth-kalyan-chakravarthy-ph-d-7a46156/
@_ananth_g

More Related Content

What's hot

A brave new world in mutable big data relational storage (Strata NYC 2017)
A brave new world in mutable big data  relational storage (Strata NYC 2017)A brave new world in mutable big data  relational storage (Strata NYC 2017)
A brave new world in mutable big data relational storage (Strata NYC 2017)Todd Lipcon
 
Apache Flink & Kudu: a connector to develop Kappa architectures
Apache Flink & Kudu: a connector to develop Kappa architecturesApache Flink & Kudu: a connector to develop Kappa architectures
Apache Flink & Kudu: a connector to develop Kappa architecturesNacho García Fernández
 
Introduction to Apache Kudu
Introduction to Apache KuduIntroduction to Apache Kudu
Introduction to Apache KuduJeff Holoman
 
FiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and SparkFiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and SparkEvan Chan
 
DeathStar: Easy, Dynamic, Multi-Tenant HBase via YARN
DeathStar: Easy, Dynamic, Multi-Tenant HBase via YARNDeathStar: Easy, Dynamic, Multi-Tenant HBase via YARN
DeathStar: Easy, Dynamic, Multi-Tenant HBase via YARNDataWorks Summit
 
A Container-based Sizing Framework for Apache Hadoop/Spark Clusters
A Container-based Sizing Framework for Apache Hadoop/Spark ClustersA Container-based Sizing Framework for Apache Hadoop/Spark Clusters
A Container-based Sizing Framework for Apache Hadoop/Spark ClustersDataWorks Summit/Hadoop Summit
 
Hive on spark berlin buzzwords
Hive on spark berlin buzzwordsHive on spark berlin buzzwords
Hive on spark berlin buzzwordsSzehon Ho
 
Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016
Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016
Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016alanfgates
 
Apache Hadoop YARN: Present and Future
Apache Hadoop YARN: Present and FutureApache Hadoop YARN: Present and Future
Apache Hadoop YARN: Present and FutureDataWorks Summit
 
SQL Engines for Hadoop - The case for Impala
SQL Engines for Hadoop - The case for ImpalaSQL Engines for Hadoop - The case for Impala
SQL Engines for Hadoop - The case for Impalamarkgrover
 
Have your Cake and Eat it Too - Architecture for Batch and Real-time processing
Have your Cake and Eat it Too - Architecture for Batch and Real-time processingHave your Cake and Eat it Too - Architecture for Batch and Real-time processing
Have your Cake and Eat it Too - Architecture for Batch and Real-time processingDataWorks Summit
 
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...Yahoo Developer Network
 
Get most out of Spark on YARN
Get most out of Spark on YARNGet most out of Spark on YARN
Get most out of Spark on YARNDataWorks Summit
 
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agentsTuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agentsDataWorks Summit
 
Apache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data ProcessingApache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data ProcessingDataWorks Summit
 
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...DataWorks Summit/Hadoop Summit
 

What's hot (20)

A brave new world in mutable big data relational storage (Strata NYC 2017)
A brave new world in mutable big data  relational storage (Strata NYC 2017)A brave new world in mutable big data  relational storage (Strata NYC 2017)
A brave new world in mutable big data relational storage (Strata NYC 2017)
 
Apache Flink & Kudu: a connector to develop Kappa architectures
Apache Flink & Kudu: a connector to develop Kappa architecturesApache Flink & Kudu: a connector to develop Kappa architectures
Apache Flink & Kudu: a connector to develop Kappa architectures
 
Introduction to Apache Kudu
Introduction to Apache KuduIntroduction to Apache Kudu
Introduction to Apache Kudu
 
FiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and SparkFiloDB - Breakthrough OLAP Performance with Cassandra and Spark
FiloDB - Breakthrough OLAP Performance with Cassandra and Spark
 
DeathStar: Easy, Dynamic, Multi-Tenant HBase via YARN
DeathStar: Easy, Dynamic, Multi-Tenant HBase via YARNDeathStar: Easy, Dynamic, Multi-Tenant HBase via YARN
DeathStar: Easy, Dynamic, Multi-Tenant HBase via YARN
 
A Container-based Sizing Framework for Apache Hadoop/Spark Clusters
A Container-based Sizing Framework for Apache Hadoop/Spark ClustersA Container-based Sizing Framework for Apache Hadoop/Spark Clusters
A Container-based Sizing Framework for Apache Hadoop/Spark Clusters
 
Hive on spark berlin buzzwords
Hive on spark berlin buzzwordsHive on spark berlin buzzwords
Hive on spark berlin buzzwords
 
Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016
Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016
Hive2.0 sql speed-scale--hadoop-summit-dublin-apr-2016
 
Apache Hadoop YARN: Present and Future
Apache Hadoop YARN: Present and FutureApache Hadoop YARN: Present and Future
Apache Hadoop YARN: Present and Future
 
The state of SQL-on-Hadoop in the Cloud
The state of SQL-on-Hadoop in the CloudThe state of SQL-on-Hadoop in the Cloud
The state of SQL-on-Hadoop in the Cloud
 
SQL Engines for Hadoop - The case for Impala
SQL Engines for Hadoop - The case for ImpalaSQL Engines for Hadoop - The case for Impala
SQL Engines for Hadoop - The case for Impala
 
Have your Cake and Eat it Too - Architecture for Batch and Real-time processing
Have your Cake and Eat it Too - Architecture for Batch and Real-time processingHave your Cake and Eat it Too - Architecture for Batch and Real-time processing
Have your Cake and Eat it Too - Architecture for Batch and Real-time processing
 
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...
February 2016 HUG: Apache Kudu (incubating): New Apache Hadoop Storage for Fa...
 
Cloudera Impala
Cloudera ImpalaCloudera Impala
Cloudera Impala
 
Get most out of Spark on YARN
Get most out of Spark on YARNGet most out of Spark on YARN
Get most out of Spark on YARN
 
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agentsTuning Apache Ambari performance for Big Data at scale with 3000 agents
Tuning Apache Ambari performance for Big Data at scale with 3000 agents
 
Apache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data ProcessingApache Tez - A unifying Framework for Hadoop Data Processing
Apache Tez - A unifying Framework for Hadoop Data Processing
 
Apache Eagle - Monitor Hadoop in Real Time
Apache Eagle - Monitor Hadoop in Real TimeApache Eagle - Monitor Hadoop in Real Time
Apache Eagle - Monitor Hadoop in Real Time
 
Ingest and Stream Processing - What will you choose?
Ingest and Stream Processing - What will you choose?Ingest and Stream Processing - What will you choose?
Ingest and Stream Processing - What will you choose?
 
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
Near Real-Time Network Anomaly Detection and Traffic Analysis using Spark bas...
 

Similar to Low latency high throughput streaming using Apache Apex and Apache Kudu

Low Latency Polyglot Model Scoring using Apache Apex
Low Latency Polyglot Model Scoring using Apache ApexLow Latency Polyglot Model Scoring using Apache Apex
Low Latency Polyglot Model Scoring using Apache ApexApache Apex
 
Hadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache Apex
Hadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache ApexHadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache Apex
Hadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache ApexApache Apex
 
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformIntro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformApache Apex
 
Apache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data 2016: Next Gen Big Data Analytics with Apache ApexApache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data 2016: Next Gen Big Data Analytics with Apache ApexApache Apex
 
Introduction to Apache Apex and writing a big data streaming application
Introduction to Apache Apex and writing a big data streaming application  Introduction to Apache Apex and writing a big data streaming application
Introduction to Apache Apex and writing a big data streaming application Apache Apex
 
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...Data Con LA
 
Intro to Apache Apex @ Women in Big Data
Intro to Apache Apex @ Women in Big DataIntro to Apache Apex @ Women in Big Data
Intro to Apache Apex @ Women in Big DataApache Apex
 
Aerospike Hybrid Memory Architecture
Aerospike Hybrid Memory ArchitectureAerospike Hybrid Memory Architecture
Aerospike Hybrid Memory ArchitectureAerospike, Inc.
 
Introduction to Apache Apex
Introduction to Apache ApexIntroduction to Apache Apex
Introduction to Apache ApexApache Apex
 
BigDataSpain 2016: Introduction to Apache Apex
BigDataSpain 2016: Introduction to Apache ApexBigDataSpain 2016: Introduction to Apache Apex
BigDataSpain 2016: Introduction to Apache ApexThomas Weise
 
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at UberWSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at UberWSO2
 
Extending Spark Streaming to Support Complex Event Processing
Extending Spark Streaming to Support Complex Event ProcessingExtending Spark Streaming to Support Complex Event Processing
Extending Spark Streaming to Support Complex Event ProcessingOh Chan Kwon
 
Architectual Comparison of Apache Apex and Spark Streaming
Architectual Comparison of Apache Apex and Spark StreamingArchitectual Comparison of Apache Apex and Spark Streaming
Architectual Comparison of Apache Apex and Spark StreamingApache Apex
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community
 
High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)Arnaud Bouchez
 
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark StreamingIntro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark StreamingApache Apex
 
Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...
 Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov... Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...
Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...Databricks
 

Similar to Low latency high throughput streaming using Apache Apex and Apache Kudu (20)

Low Latency Polyglot Model Scoring using Apache Apex
Low Latency Polyglot Model Scoring using Apache ApexLow Latency Polyglot Model Scoring using Apache Apex
Low Latency Polyglot Model Scoring using Apache Apex
 
Hadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache Apex
Hadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache ApexHadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache Apex
Hadoop Summit SJ 2016: Next Gen Big Data Analytics with Apache Apex
 
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and TransformIntro to Apache Apex - Next Gen Platform for Ingest and Transform
Intro to Apache Apex - Next Gen Platform for Ingest and Transform
 
Apache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data 2016: Next Gen Big Data Analytics with Apache ApexApache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
Apache Big Data 2016: Next Gen Big Data Analytics with Apache Apex
 
Next Gen Big Data Analytics with Apache Apex
Next Gen Big Data Analytics with Apache Apex Next Gen Big Data Analytics with Apache Apex
Next Gen Big Data Analytics with Apache Apex
 
Introduction to Apache Apex and writing a big data streaming application
Introduction to Apache Apex and writing a big data streaming application  Introduction to Apache Apex and writing a big data streaming application
Introduction to Apache Apex and writing a big data streaming application
 
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
Big Data Day LA 2016/ Big Data Track - How To Use Impala and Kudu To Optimize...
 
Intro to Apache Apex @ Women in Big Data
Intro to Apache Apex @ Women in Big DataIntro to Apache Apex @ Women in Big Data
Intro to Apache Apex @ Women in Big Data
 
Aerospike Hybrid Memory Architecture
Aerospike Hybrid Memory ArchitectureAerospike Hybrid Memory Architecture
Aerospike Hybrid Memory Architecture
 
Introduction to Apache Apex
Introduction to Apache ApexIntroduction to Apache Apex
Introduction to Apache Apex
 
BigDataSpain 2016: Introduction to Apache Apex
BigDataSpain 2016: Introduction to Apache ApexBigDataSpain 2016: Introduction to Apache Apex
BigDataSpain 2016: Introduction to Apache Apex
 
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at UberWSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
WSO2Con USA 2017: Scalable Real-time Complex Event Processing at Uber
 
Spark cep
Spark cepSpark cep
Spark cep
 
Extending Spark Streaming to Support Complex Event Processing
Extending Spark Streaming to Support Complex Event ProcessingExtending Spark Streaming to Support Complex Event Processing
Extending Spark Streaming to Support Complex Event Processing
 
Architectual Comparison of Apache Apex and Spark Streaming
Architectual Comparison of Apache Apex and Spark StreamingArchitectual Comparison of Apache Apex and Spark Streaming
Architectual Comparison of Apache Apex and Spark Streaming
 
Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph Ceph Community Talk on High-Performance Solid Sate Ceph
Ceph Community Talk on High-Performance Solid Sate Ceph
 
High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)High Performance Object Pascal Code on Servers (at EKON 22)
High Performance Object Pascal Code on Servers (at EKON 22)
 
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark StreamingIntro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
Intro to Apache Apex (next gen Hadoop) & comparison to Spark Streaming
 
Play With Streams
Play With StreamsPlay With Streams
Play With Streams
 
Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...
 Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov... Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...
Apache Spark for RDBMS Practitioners: How I Learned to Stop Worrying and Lov...
 

More from DataWorks Summit

Floating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisFloating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisDataWorks Summit
 
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFiTracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFiDataWorks Summit
 
HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...DataWorks Summit
 
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...DataWorks Summit
 
Managing the Dewey Decimal System
Managing the Dewey Decimal SystemManaging the Dewey Decimal System
Managing the Dewey Decimal SystemDataWorks Summit
 
Practical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExamplePractical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExampleDataWorks Summit
 
HBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at UberHBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at UberDataWorks Summit
 
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixScaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixDataWorks Summit
 
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFiBuilding the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFiDataWorks Summit
 
Supporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsSupporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsDataWorks Summit
 
Security Framework for Multitenant Architecture
Security Framework for Multitenant ArchitectureSecurity Framework for Multitenant Architecture
Security Framework for Multitenant ArchitectureDataWorks Summit
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EngineDataWorks Summit
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...DataWorks Summit
 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudExtending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudDataWorks Summit
 
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiEvent-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiDataWorks Summit
 
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerDataWorks Summit
 
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...DataWorks Summit
 
Computer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near YouComputer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near YouDataWorks Summit
 
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache SparkBig Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache SparkDataWorks Summit
 

More from DataWorks Summit (20)

Data Science Crash Course
Data Science Crash CourseData Science Crash Course
Data Science Crash Course
 
Floating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache RatisFloating on a RAFT: HBase Durability with Apache Ratis
Floating on a RAFT: HBase Durability with Apache Ratis
 
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFiTracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
Tracking Crime as It Occurs with Apache Phoenix, Apache HBase and Apache NiFi
 
HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...HBase Tales From the Trenches - Short stories about most common HBase operati...
HBase Tales From the Trenches - Short stories about most common HBase operati...
 
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
Optimizing Geospatial Operations with Server-side Programming in HBase and Ac...
 
Managing the Dewey Decimal System
Managing the Dewey Decimal SystemManaging the Dewey Decimal System
Managing the Dewey Decimal System
 
Practical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist ExamplePractical NoSQL: Accumulo's dirlist Example
Practical NoSQL: Accumulo's dirlist Example
 
HBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at UberHBase Global Indexing to support large-scale data ingestion at Uber
HBase Global Indexing to support large-scale data ingestion at Uber
 
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and PhoenixScaling Cloud-Scale Translytics Workloads with Omid and Phoenix
Scaling Cloud-Scale Translytics Workloads with Omid and Phoenix
 
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFiBuilding the High Speed Cybersecurity Data Pipeline Using Apache NiFi
Building the High Speed Cybersecurity Data Pipeline Using Apache NiFi
 
Supporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability ImprovementsSupporting Apache HBase : Troubleshooting and Supportability Improvements
Supporting Apache HBase : Troubleshooting and Supportability Improvements
 
Security Framework for Multitenant Architecture
Security Framework for Multitenant ArchitectureSecurity Framework for Multitenant Architecture
Security Framework for Multitenant Architecture
 
Presto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything EnginePresto: Optimizing Performance of SQL-on-Anything Engine
Presto: Optimizing Performance of SQL-on-Anything Engine
 
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
Introducing MlFlow: An Open Source Platform for the Machine Learning Lifecycl...
 
Extending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google CloudExtending Twitter's Data Platform to Google Cloud
Extending Twitter's Data Platform to Google Cloud
 
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFiEvent-Driven Messaging and Actions using Apache Flink and Apache NiFi
Event-Driven Messaging and Actions using Apache Flink and Apache NiFi
 
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache RangerSecuring Data in Hybrid on-premise and Cloud Environments using Apache Ranger
Securing Data in Hybrid on-premise and Cloud Environments using Apache Ranger
 
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
Big Data Meets NVM: Accelerating Big Data Processing with Non-Volatile Memory...
 
Computer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near YouComputer Vision: Coming to a Store Near You
Computer Vision: Coming to a Store Near You
 
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache SparkBig Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
Big Data Genomics: Clustering Billions of DNA Sequences with Apache Spark
 

Recently uploaded

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...DianaGray10
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityPrincipled Technologies
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century educationjfdjdjcjdnsjd
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024Rafal Los
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...Martijn de Jong
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...apidays
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?Antenna Manufacturer Coco
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Enterprise Knowledge
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 

Recently uploaded (20)

AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 

Low latency high throughput streaming using Apache Apex and Apache Kudu

  • 1. Low latency high throughput streaming using Apache Apex and Apache Kudu Dataworks Summit 2017 Ananth Gundabattula
  • 2. Hypothetical business case Introduction Apex Kudu Q&A 2 • IOT style enabled end user devices • Click Streams • Smart phones - Accelerometer, Gyroscope • Better fraud rules • Behavioural analytics by ingesting Human activity recognition feeds • Did the user really travel to another Geo ? • Does the user generally drive around this area ?
  • 3. Introduction Apex Kudu Q&A 3 • Activity recognition stream is processed by a machine learning model to detect human activity • Data needs to be processed well within a lower end of double digit millisecond time frames • Data needs to be available for querying within a few milliseconds for operational analytics Solution Goals
  • 4. Introduction Apex Kudu Q&A 4 Apache Apex introduction Low latency Distributed Streaming Enterprise grade features - Highly customisable DAG - Checkpointing - End to End Exactly once - Hadoop Security compatible - YARN enabled 1. 2. 3. 4.
  • 5. Introduction Apex Kudu Q&A 5 Apache Kudu introduction Tabular structure Distributed Low latency random access Interesting features - Auto compaction - Mutable - Columnar optimised storage format - Fault tolerant - Hadoop ecosystem citizen 1. 2. 3. 4.
  • 6. Introduction Apex Kudu Q&A 6 Apex as a streaming engine <100 ms Fraud vs No Fraud Time dimension Logical unit 1 Logical unit 2 Logical unit 3 VS Time dimension Logical unit 1 Logical unit 2 Logical unit 3
  • 7. Introduction Apex Kudu Q&A Apex - distributed engine Scale up & Scale out HAR is too much Data Time dimension Logical unit 1a Logical unit 2a Logical unit 3 Time dimension Logical unit 1b Logical unit 2b Logical unit 3 Time dimension Logical unit 1c Logical unit 2c Logical unit 3 •YARN enabled • Resource Managed • MESOS support on the roadmap
  • 8. Introduction Apex Kudu Q&A Apex - application layout RESTAPI Bare Metal/ Cloud/Virtual Hadoop - HDFS + YARN All major distributions supported Apex Streaming Runtime High performance,Fault Tolerant,In-memory App nApp 2App 1 … APEX STACK APEX-CLI Command line client YARN RESOURCE MANAGER YARN NM M C C YARN NM C C M YARN NM C M C Submit Job/ Manipulate Highly Available App Master (M) - Apex AM Highly available compute units HDFS for Persistent Storage Capitaliseonexisting Hadoopinvestments Varied compute profiles Colocate YARN traditional MR along with Apex Applications - No Disruption
  • 9. Introduction Apex Kudu Q&A Apex application development model •Stream is a sequence of data tuples • An Operator consumes one or more input streams , processes tuples using custom business logic and emits to one or more output streams • DAG is made up of operators and streams • Rich collection of operators available from Apache Malhar • NOSQL - Cassandra, Geode .. • Kudu •Relational - JDBC • Messaging - Kafka,JMS , Solace • File Systems - HDFS , S3, NFS • Nifi •…. Kafka Input Kafka Input Kafka Input Kudu Output Kudu output Cassandra Enrich Cassandra Enrich Cassandra Enrich Model Scoring Model Scoring Model Scoring Model Scoring Model Scoring Model Scoring
  • 10. Introduction Apex Kudu Q&A Apex application deployment model • Non-intrusive model to meet overall SLAs • Different operators can be configured independently to meet SLA needs. • Compute intensive vs I/O intensive • Custom stream codecs enable configurable tuple routing patterns KI CE MS KO Logical model KI KI KI KO KO CE CE CE MS MS MS MS MS MS Each operator needs its own scaling to meet SLAs Deployment configuration
  • 11. Introduction Apex Kudu Q&A Unifiers Functionality specific scaling is causing backpressure on downstream operators KI CE MS KO CE CE CE CE CE MS MS U CE CE CE CE CE MS MS U U Logical Plan Bottleneck @Unifier Scaled up unifiers
  • 12. Introduction Apex Kudu Q&A Parallel partitioning I want to avoid shuffles for the lowest cross operator latencies KI CE MS KOCO Logical Plan CEKI MS CEKI MS CEKI MS CO KO Parallel Partitioning
  • 13. Introduction Apex Kudu Q&A Dynamic partitioning • Utilise hardware for nightly batch compute needs • Ex: Zip code based average driving speeds for HAR Features But most of the activity feeds are only during day time KI CE MS KOCO Logical Plan KI CEKI MS KI CO KO Dynamic Partitioning CEKI MS CEKI MS CEKI MS CO KO Daytime topology Nighttime topology
  • 14. Introduction Apex Kudu Q&A Pub sub • High performant in-memory pub-sub messaging • Provides ordering & idempotency for failure scenarios • Buffers tuples in memory until the tuples are committed • Spills to disk in back-pressure scenarios I want a loosely coupled operator binding for throughput handling, recovery … T T T T T T Cassandra Operator T T T T T T Model Scoring CEKI MS MS X X CEKI MS MS Recoverability in parts of DAG
  • 15. Introduction Apex Kudu Q&A Checkpointing • Non-intrusive streaming window markers • In-memory processing of data & checkpointing at streaming window boundaries • Configurable checkpoint store - HDFS backed store replicated & highly available • One or multiple windows ( configurable ) make a checkpoint boundary • Persist non-transient & Operator specific checkpointing data structure - Ex: Kafka : (C,T,P,O) CHECKPOINTS But machines fail / Application needs upgrade T T T T T T T T T T T T T T TB B B B BE E E E ECP CP R R Streaming Window CP Checkpoint state B Begin Streaming Window E End Streaming Window
  • 16. Introduction Apex Kudu Q&A Processing guarantees But machines fail / Application needs upgrade B T T T T T T T T T T TB B BE E ECP R X At Least Once T T T T T T T T T T TB B BE E ECP R X At most Once T T T BE To downstream Operator To downstream Operator Exactly Once = At least once + Idempotency ( Pub-Sub ) + Operator logic
  • 17. Introduction Apex Kudu Q&A Kudu output operator - Exactly once I want exactly once semantics but Kudu does not support transactions Exactly Once = At least once + Idempotency ( Pub-Sub ) + Operator logic T T T T T T T T T T TB B BE E ECP R X Exactly Once - Upstream window processing view T T TBET T T T Safe Mode Window/s Reconciling Mode Normal Mode Automatically Skipped Business Logic callback to Exactly detect already written records
  • 18. Introduction Apex Kudu Q&A Apex Command line client • Apex Command line client provides capabilities for • Launching an apex application on the cluster • Specifying configuration files and properties • Managing lifecycle of an application - Kill, shutdown • Change the logical plan of the running application • We can add a new R operator with different configurations as a champion challenger • Control operator properties at runtime • Ex: Change the throttle config in the Kudu Input operator • No downtime !! I want to fine tune the champion challenger scoring model at runtime as an experiment KuduI R CO Deployed application KuduI R CO Experimentation mode application R CO
  • 19. Introduction Apex Kudu Q&A Apex Kudu Integration • Kudu Input Operator • Scans a single table using a SQL expression using a distributed scan approach • ANTLR4 parser compensates for the missing JDBC driver for Kudu. • Kudu Output Operator • Used to mutate a single table basing on the context. Supports • Insert • Update • Upsert • Delete • Available post 3.8.0 release of Malhar I want to integrate Kudu
  • 20. Introduction Apex Kudu Q&A Kudu Output Operator • Same POJO mapping to multiple tables •No extra transformation required • Automatic schema detection • Override Column name mapping if required Single Kafka payload Message translates to Device and Activity tables CEKI MS CEKI MS CEKI MS KO1 KO2 DeviceID First Seen LastSeen LastKnownGeo • Can choose to write only a subset of the column • Ex: LastSeen can be updated without reading FirstSeen Not all columns of the HAR device data is sent all of the time
  • 21. Introduction Apex Kudu Q&A Kudu output operator Autometrics •Apex engine allows for metrics collection and monitoring • Termed as Autometrics • Metrics are automatically aggregated over the entire instances of the operator • Supports complex types as a metric construct • Metrics are also available as a RESTAPI endpoint. • Metrics supported by the Kudu output operator • On a per window basis • Inserts,updates,upserts,deletes, bytes written, write operations, write RPCs, RPC errors, Operational errors • On a global basis ( i.e. from start of application ) • Same as above I want to monitor kudu Operational metrics
  • 22. Introduction Apex Kudu Q&A Kudu Input Operator • Scans a single kudu table • Streams one row as POJO tuple to downstream Operators • Accepts a SQL expression to determine the rows that need to be read • The query processing is distributed across • All Apex Operators that divide the stream work equally • Disruptor Queue for maximum throughput I want to scan and stream data in Kudu KuduI R KO KuduI R KO KuduI R KO Query Plan
  • 23. Introduction Apex Kudu Q&A Kudu Input Operator Partitioning options I want to optimise the second application basing on the number of kudu tablets KuduI R KO KuduI R KO KuduI R KO One to One mapping KuduI R KO KuduI R KO Many to One mapping KuduI R KO Operator config allows for flexible Kudu tablet to Apex operator mapping
  • 24. Introduction Apex Kudu Q&A Kudu Input Operator Fault tolerance Can I make use of Kudu replication to account for HA of input stream processing KuduI R KO KuduI R KO KuduI R KO
  • 25. Introduction Apex Kudu Q&A Kudu Input Operator Scan ordering • Simple configuration switch to choose between random order & consistent order • Consistent ordering •Automatically sets Fault tolerance to true • Exactly once processing only possible in Consistent ordering mode • Results in lower throughput Can I tune for throughput or exactly once semantics basing on my requirements Random order scanning KuduI R KO Consistent order scanning KuduI R KO
  • 26. Introduction Apex Kudu Q&A Kudu Input Operator Control tuples • Apex allows for control tuples ( user defined watermarks ) to be intermixed the data tuples flowing in the DAG • Kudu Input operator currently allows for • Begin Query control tuple • End query control tuple • Control tuples are custom definable • Ex: New query expression in a begin query control tuple • Ex: Window time value at the end of the query processing • Control tuples can be sent either sent at window boundaries or inline • It is inline for Kudu Input operator My model needs a different scoring approach based on the data set time window Control tuple flow T Kudu Input operator T T TEQBQ T T T TB B R operator R1 R1EQBQR2R2
  • 27. Introduction Apex Kudu Q&A Kudu input operator extensibility Time travel operator •As part of SQL expression allows for setting • Control Tuple END query message • Kudu READ_SNAPSHOT_TIME •Time Travel operator •Each input query can scan the entire table ( with appropriate filters ) for data present at specified READ_SNAPSHOT_TIME time • “SELECT * FROM TABLE where col1 = 234 using options READ_SNAPSHOT_TIME = <3 A.M>” I want to run a nightly model basing on the state of data at hourly boundaries during the daytime
  • 28. Introduction Apex Kudu Q&A Production References • GE prefix platform processes IOT streaming data for analytics at sub-millisecond time frames • Capitol One • 99.999 % uptime 24x7 • Single digit millisecond end to end latencies • Threatmetrix data pipelines for visualising fraud patterns were processed at single digit millisecond processing latencies • These times exclude the latencies to write to a Cassandra cluster • A leading global financial institution ( non-AUS) • Demonstrate AML compliance • Integrate with Teradata,Vertica and Hadoop
  • 29. Introduction Apex Kudu Q&A Q & A • Apex Community http://apex.apache.org/ community.html • Docs http://apex.apache.org/docs.html •Powered by Apache Apex http://apex.apache.org/ powered-by-apex.html • REST-API Server  https://github.com/atrato/atrato-server • Twitter handle https://twitter.com/apacheapex • Examples https://github.com/apache/apex-malhar/tree/ master/examples 030201 https://www.linkedin.com/in/ananth-kalyan-chakravarthy-ph-d-7a46156/ @_ananth_g