<!DOCTYPE html> <!-- saved from url=(0068)https://www.datatorrent.com/blog/introducing-apache-apex-incubating/ --> <html class="wf-ptsans-n4-active js wf-anticslab-n4-active wf-active ua-chrome ua-chrome-65 ua-chrome-65-0 ua-chrome-65-0-3325 ua-chrome-65-0-3325-181 ua-desktop ua-desktop-macintosh ua-mac_os_x ua-mac_os_x-10 ua-mac_os_x-10-13 ua-mac_os_x-10-13-3 ua-webkit ua-webkit-537 ua-webkit-537-36 js applicationcache geolocation history postmessage websockets localstorage sessionstorage websqldatabase webworkers hashchange audio canvas canvastext video webgl cssgradients multiplebgs opacity rgba inlinesvg hsla supports svgclippaths smil no-touchevents fontface generatedcontent textshadow indexeddb indexeddb-deletedatabase cssanimations backgroundsize borderimage borderradius boxshadow flexbox cssreflections csstransforms csstransforms3d csstransitions" lang="en-US" prefix="og: http://ogp.me/ns# fb: http://ogp.me/ns/fb# og: http://ogp.me/ns#" data-useragent="Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_3) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/65.0.3325.181 Safari/537.36"><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/p.js" async=""></script><script type="text/javascript" async="" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/munchkin.js"></script><script type="text/javascript" async="" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/insight.min.js"></script><script type="text/javascript" id="async-buttons" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/async-buttons.js"></script> <!-- Google Tag Manager --> <script type="text/javascript" async="" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/analytics.js"></script><script src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/webfont.js" type="text/javascript" async=""></script><script async="" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/gtm.js"></script><script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start': new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0], j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src= 'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f); })(window,document,'script','dataLayer','GTM-TBBMZ7');</script> <!-- End Google Tag Manager --> <script type="text/javascript"> (function() { var didInit = false; function initMunchkin() { if(didInit === false) { didInit = true; Munchkin.init('661-RYF-836'); } } var s = document.createElement('script'); s.type = 'text/javascript'; s.async = true; s.src = '//munchkin.marketo.net/munchkin.js'; s.onreadystatechange = function() { if (this.readyState == 'complete' || this.readyState == 'loaded') { initMunchkin(); } }; s.onload = initMunchkin; document.getElementsByTagName('head')[0].appendChild(s); })(); </script><script type="text/javascript" async="" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/munchkin(1).js"></script> <link rel="shortcut icon" href="https://www.datatorrent.com/favicon.ico" type="image/x-icon"> <link rel="icon" href="https://www.datatorrent.com/favicon.ico" type="image/x-icon"> <!--[if lte IE 8]> <script type="text/javascript" src="https://www.datatorrent.com/wp-content/themes/Avada/assets/js/html5shiv.js"></script> <![endif]--> <meta name="viewport" content="width=device-width, initial-scale=1"> <title>Apache Apex (Incubating) Introduction ' DataTorrent Blog</title> <script> /* You can add more configuration options to webfontloader by previously defining the WebFontConfig with your options */ if ( typeof WebFontConfig === "undefined" ) { WebFontConfig = new Object(); } WebFontConfig['google'] = {families: ['Antic+Slab:400', 'PT+Sans:400']}; (function() { var wf = document.createElement( 'script' ); wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.5.3/webfont.js'; wf.type = 'text/javascript'; wf.async = 'true'; var s = document.getElementsByTagName( 'script' )[0]; s.parentNode.insertBefore( wf, s ); })(); </script> <!-- This site is optimized with the Yoast SEO plugin v5.7.1 - https://yoast.com/wordpress/plugins/seo/ --> <meta name="description" content="Read this blog to understand about Apache Apex, an industry's first ever YARN native engine and its importance in bringing big data projects to success."> <link rel="canonical" href="https://www.datatorrent.com/blog/introducing-apache-apex-incubating/"> <meta property="og:locale" content="en_US"> <meta property="og:type" content="article"> <meta property="og:title" content="DataTorrent Apache Apex (Incubating) - Introduction"> <meta property="og:description" content="Read this blog to understand about Apache Apex, an industry's first ever YARN native engine and its importance in bringing big data projects to success."> <meta property="og:url" content="https://www.datatorrent.com/blog/introducing-apache-apex-incubating/"> <meta property="og:site_name" content="DataTorrent"> <meta property="article:section" content="Technical"> <meta property="article:published_time" content="2015-09-09T18:17:35+00:00"> <meta property="article:modified_time" content="2017-10-09T13:38:45+00:00"> <meta property="og:updated_time" content="2017-10-09T13:38:45+00:00"> <meta property="og:image" content="https://www.datatorrent.com/wp-content/uploads/2015/11/apex-application-in-hadoop-cluster.png"> <meta property="og:image:secure_url" content="https://www.datatorrent.com/wp-content/uploads/2015/11/apex-application-in-hadoop-cluster.png"> <meta property="og:image" content="https://www.datatorrent.com/wp-content/uploads/2015/11/apache-apex-ease-of-integration.png"> <meta property="og:image:secure_url" content="https://www.datatorrent.com/wp-content/uploads/2015/11/apache-apex-ease-of-integration.png"> <meta property="og:image" content="https://www.datatorrent.com/wp-content/uploads/2015/11/apache-apex-easily-reused.png"> <meta property="og:image:secure_url" content="https://www.datatorrent.com/wp-content/uploads/2015/11/apache-apex-easily-reused.png"> <meta property="og:image" content="https://www.datatorrent.com/wp-content/uploads/2015/11/malhar-operators.png"> <meta property="og:image:secure_url" content="https://www.datatorrent.com/wp-content/uploads/2015/11/malhar-operators.png"> <meta name="twitter:card" content="summary"> <meta name="twitter:description" content="Read this blog to understand about Apache Apex, an industry's first ever YARN native engine and its importance in bringing big data projects to success."> <meta name="twitter:title" content="Apache Apex (Incubating) from DataTorrent"> <meta name="twitter:image" content="https://www.datatorrent.com/wp-content/uploads/2015/11/apex-application-in-hadoop-cluster.png"> <script type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"WebSite","@id":"#website","url":"https:\/\/www.datatorrent.com\/","name":"DataTorrent","potentialAction":{"@type":"SearchAction","target":"https:\/\/www.datatorrent.com\/?s={search_term_string}","query-input":"required name=search_term_string"}}</script> <script type="application/ld+json">{"@context":"http:\/\/schema.org","@type":"Organization","url":"https:\/\/www.datatorrent.com\/blog\/introducing-apache-apex-incubating\/","sameAs":[],"@id":"#organization","name":"DataTorrent","logo":"https:\/\/www.datatorrent.com\/wp-content\/uploads\/2016\/11\/DataTorrentLogoWP.png"}</script> <!-- / Yoast SEO plugin. --> <link rel="dns-prefetch" href="https://s.w.org/"> <link rel="alternate" type="application/rss+xml" title="DataTorrent » Feed" href="https://www.datatorrent.com/feed/"> <link rel="alternate" type="application/rss+xml" title="DataTorrent » Comments Feed" href="https://www.datatorrent.com/comments/feed/"> <!-- For iPad Retina display --> <link rel="apple-touch-icon-precomposed" sizes="144x144" href="https://www.datatorrent.com/blog/introducing-apache-apex-incubating/"> <link rel="alternate" type="application/rss+xml" title="DataTorrent » Introducing Apache Apex (Incubating) Comments Feed" href="https://www.datatorrent.com/blog/introducing-apache-apex-incubating/feed/"> <meta property="og:title" content="Introducing Apache Apex (Incubating)"> <meta property="og:type" content="article"> <meta property="og:url" content="https://www.datatorrent.com/blog/introducing-apache-apex-incubating/"> <meta property="og:site_name" content="DataTorrent"> <meta property="og:description" content="Last week, I published a blog announcing that Apex was accepted as an Apache incubator project. This week, I'll give you a little more detail on what Apache Apex is, and why it's important.Apache Hadoop has been around for over a decade. It has become the de-facto big data platform, allowing enterprises to transform"> <meta property="og:image" content="http://www.datatorrent.com/wp-content/themes/Avada/assets/images/logo.png"> <script type="text/javascript"> window._wpemojiSettings = {"baseUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.3\/72x72\/","ext":".png","svgUrl":"https:\/\/s.w.org\/images\/core\/emoji\/2.3\/svg\/","svgExt":".svg","source":{"concatemoji":"https:\/\/www.datatorrent.com\/wp-includes\/js\/wp-emoji-release.min.js?ver=4.9.2"}}; !function(a,b,c){function d(a,b){var c=String.fromCharCode;l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,a),0,0);var d=k.toDataURL();l.clearRect(0,0,k.width,k.height),l.fillText(c.apply(this,b),0,0);var e=k.toDataURL();return d===e}function e(a){var b;if(!l||!l.fillText)return!1;switch(l.textBaseline="top",l.font="600 32px Arial",a){case"flag":return!(b=d([55356,56826,55356,56819],[55356,56826,8203,55356,56819]))&&(b=d([55356,57332,56128,56423,56128,56418,56128,56421,56128,56430,56128,56423,56128,56447],[55356,57332,8203,56128,56423,8203,56128,56418,8203,56128,56421,8203,56128,56430,8203,56128,56423,8203,56128,56447]),!b);case"emoji":return b=d([55358,56794,8205,9794,65039],[55358,56794,8203,9794,65039]),!b}return!1}function f(a){var c=b.createElement("script");c.src=a,c.defer=c.type="text/javascript",b.getElementsByTagName("head")[0].appendChild(c)}var g,h,i,j,k=b.createElement("canvas"),l=k.getContext&&k.getContext("2d");for(j=Array("flag","emoji"),c.supports={everything:!0,everythingExceptFlag:!0},i=0;i<j.length;i++)c.supports[j[i]]=e(j[i]),c.supports.everything=c.supports.everything&&c.supports[j[i]],"flag"!==j[i]&&(c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&c.supports[j[i]]);c.supports.everythingExceptFlag=c.supports.everythingExceptFlag&&!c.supports.flag,c.DOMReady=!1,c.readyCallback=function(){c.DOMReady=!0},c.supports.everything||(h=function(){c.readyCallback()},b.addEventListener?(b.addEventListener("DOMContentLoaded",h,!1),a.addEventListener("load",h,!1)):(a.attachEvent("onload",h),b.attachEvent("onreadystatechange",function(){"complete"===b.readyState&&c.readyCallback()})),g=c.source||{},g.concatemoji?f(g.concatemoji):g.wpemoji&&g.twemoji&&(f(g.twemoji),f(g.wpemoji)))}(window,document,window._wpemojiSettings); </script><script src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/wp-emoji-release.min.js" type="text/javascript" defer=""></script> <style type="text/css"> img.wp-smiley, img.emoji { display: inline !important; border: none !important; box-shadow: none !important; height: 1em !important; width: 1em !important; margin: 0 .07em !important; vertical-align: -0.1em !important; background: none !important; padding: 0 !important; } </style> <link rel="stylesheet" id="avada-stylesheet-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/style.css" type="text/css" media="all"> <link rel="stylesheet" id="avada-dynamic-css-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/avada-1996.css" type="text/css" media="all"> <link rel="stylesheet" id="contact-form-7-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/styles.css" type="text/css" media="all"> <link rel="stylesheet" id="stylesheet-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/styles(1).css" type="text/css" media="all"> <link rel="stylesheet" id="dt-shortcodes-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/shortcodes.css" type="text/css" media="all"> <link rel="stylesheet" id="dt-avadashortcodes-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/avada-shortcodes.css" type="text/css" media="all"> <link rel="stylesheet" id="dt-avadastyles-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/avada-styles.css" type="text/css" media="all"> <link rel="stylesheet" id="avada-parent-stylesheet-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/style(1).css" type="text/css" media="all"> <link rel="stylesheet" id="fontawesome-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/font-awesome.css" type="text/css" media="all"> <!--[if lte IE 9]> <link rel='stylesheet' id='avada-IE-fontawesome-css' href='https://www.datatorrent.com/wp-content/themes/Avada/assets/fonts/fontawesome/font-awesome.css?ver=1.0.0' type='text/css' media='all' /> <![endif]--> <!--[if lte IE 8]> <link rel='stylesheet' id='avada-IE8-css' href='https://www.datatorrent.com/wp-content/themes/Avada/assets/css/ie8.css?ver=1.0.0' type='text/css' media='all' /> <![endif]--> <!--[if IE]> <link rel='stylesheet' id='avada-IE-css' href='https://www.datatorrent.com/wp-content/themes/Avada/assets/css/ie.css?ver=1.0.0' type='text/css' media='all' /> <![endif]--> <link rel="stylesheet" id="avada-iLightbox-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/ilightbox.css" type="text/css" media="all"> <link rel="stylesheet" id="avada-animations-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/animations.css" type="text/css" media="all"> <link rel="stylesheet" id="A2A_SHARE_SAVE-css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/addtoany.min.css" type="text/css" media="all"> <link rel="stylesheet" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/css"><script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/jquery.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/jquery-migrate.min.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/addtoany.min.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/jquery.matchHeight-min.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/fastclick.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/foundation.min.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/jquery.dotdotdot.min.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/jquery.sticky.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/lightslider.min.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/breakpoints.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/jquery.background-video.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/jquery.smooth-scroll.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/swiper.min.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/main.js"></script> <link rel="https://api.w.org/" href="https://www.datatorrent.com/wp-json/"> <link rel="EditURI" type="application/rsd+xml" title="RSD" href="https://www.datatorrent.com/xmlrpc.php?rsd"> <link rel="wlwmanifest" type="application/wlwmanifest+xml" href="https://www.datatorrent.com/wp-includes/wlwmanifest.xml"> <meta name="generator" content="WordPress 4.9.2"> <link rel="shortlink" href="https://www.datatorrent.com/?p=1996"> <link rel="alternate" type="application/json+oembed" href="https://www.datatorrent.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.datatorrent.com%2Fblog%2Fintroducing-apache-apex-incubating%2F"> <link rel="alternate" type="text/xml+oembed" href="https://www.datatorrent.com/wp-json/oembed/1.0/embed?url=https%3A%2F%2Fwww.datatorrent.com%2Fblog%2Fintroducing-apache-apex-incubating%2F&format=xml"> <script type="text/javascript"> var a2a_config=a2a_config||{};a2a_config.callbacks=a2a_config.callbacks||[];a2a_config.templates=a2a_config.templates||{}; </script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/page.js" async="async"></script> <script type="text/javascript"> jQuery(document).ready(function(){ jQuery('img[usemap]').rwdImageMaps(); }); </script> <style type="text/css"> img[usemap] { max-width: 100%; height: auto; } </style> <!--[if IE 9]> <script>var _fusionParallaxIE9 = true;</script> <![endif]--> <!--[if lte IE 8]> <script type="text/javascript"> jQuery(document).ready(function () { var imgs, i, w; var imgs = document.getElementsByTagName('img'); for (i = 0; i < imgs.length; i++) { w = imgs[i].getAttribute('width'); imgs[i].removeAttribute('width'); imgs[i].removeAttribute('height'); } }); </script> <script src="https://www.datatorrent.com/wp-content/themes/Avada/assets/js/excanvas.js"></script> <![endif]--> <!--[if lte IE 9]> <script type="text/javascript"> jQuery(document).ready(function () { // Combine inline styles for body tag jQuery('body').each(function () { var combined_styles = '<style type="text/css">'; jQuery(this).find('style').each(function () { combined_styles += jQuery(this).html(); jQuery(this).remove(); }); combined_styles += '</style>'; jQuery(this).prepend(combined_styles); }); }); </script> <![endif]--> <script type="text/javascript"> var doc = document.documentElement; doc.setAttribute('data-useragent', navigator.userAgent); </script> <meta class="foundation-mq"><link rel="stylesheet" type="text/css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/buttons-secure.css"><iframe id="stSegmentFrame" name="stSegmentFrame" frameborder="0" scrolling="no" width="0px" height="0px" sandbox="allow-scripts allow-same-origin" style="display:none;" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/saved_resource.html"></iframe><style id="fit-vids-style">.fluid-width-video-wrapper{width:100%;position:relative;padding:0;}.fluid-width-video-wrapper iframe,.fluid-width-video-wrapper object,.fluid-width-video-wrapper embed {position:absolute;top:0;left:0;width:100%;height:100%;}</style><link id="mktoForms2BaseStyle" rel="stylesheet" type="text/css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/forms2.css"><link id="mktoForms2ThemeStyle" rel="stylesheet" type="text/css" href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/forms2-theme-simple.css"></head> <body class="post-template-default single single-post postid-1996 single-format-standard fusion-body no-tablet-sticky-header no-mobile-sticky-header no-mobile-slidingbar no-mobile-totop mobile-logo-pos-left layout-wide-mode has-sidebar menu-text-align-center mobile-menu-design-modern fusion-image-hovers fusion-show-pagination-text do-animate breakpoint-1024" style=""> <!-- Google Tag Manager (noscript) --> <noscript><iframe src="https://www.googletagmanager.com/ns.html?id=GTM-TBBMZ7" height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript> <!-- End Google Tag Manager (noscript) --> <!-- ````````````````````````````````````````````` ````````````````````````````````````````````` ````````````````````````````````````````````` NAV --> <nav class="nav clearfix"> <!-- MAIN NAV --> <div class="nav__main-nav"> <!-- MOBILE BAR --> <div class="nav__mobile-bar clearfix"> <!-- SEARCH --> <div class="nav__mobile-search"> <a data-open="nav__search" aria-controls="nav__search" id="fbo2hn-reveal" aria-haspopup="true" tabindex="0"><i class="fa fa-search" aria-hidden="true"></i></a> </div> <!-- LOGO --> <div class="nav__mobile-logo"> <a href="https://www.datatorrent.com/"><img src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/logo_datatorrent.png" width="100%" height="100%" class="nav__logo"></a> </div> <!-- HAMBURGER MENU --> <div class="title-bar" data-responsive-toggle="main-menu" data-hide-for="medium" style="display: none;"> <button class="menu-icon" type="button" data-toggle=""></button> </div> </div> <!-- NAV MENU CONTAINER --> <div class="nav__menu-container"> <!-- MAIN NAV --> <div class="top-bar" id="main-menu"> <ul class="horizontal menu nav__menu dropdown" data-hover-delay="0" data-closing-time="0" data-responsive-menu="drilldown medium-dropdown" data-back-button="<li class="js-drilldown-back"><a tabindex="0">Main Menu</a></li>" role="menubar" data-dropdown-menu="194w3b-dropdown-menu"> <!-- PRODUCTS AND SERVICES --> <li class="nav__menu-item is-dropdown-submenu-parent opens-right" role="menuitem" aria-haspopup="true" aria-expanded="false" aria-label="Products"> <a href="https://www.datatorrent.com/products-services" tabindex="0">Products</a> <ul class="vertical menu nav__submenu submenu is-dropdown-submenu first-sub" data-submenu="" aria-hidden="true" role="menu"> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"> <a href="https://www.datatorrent.com/products-services/benefits/" class="nav__menu-mega-link">6 Reasons Why DataTorrent</a> <a href="https://www.datatorrent.com/products-services/datatorrent-rts/" class="nav__menu-mega-link">DataTorrent RTS</a> <a href="https://www.datatorrent.com/appfactory/" class="nav__menu-mega-link">AppFactory</a> <a href="https://www.datatorrent.com/products-services/architecture/" class="nav__menu-mega-link">Architecture</a> <a href="https://www.datatorrent.com/products-services/apache-apex/" class="nav__menu-mega-link">Apache Apex</a> <!--<a href="/products-services/deployment-modes/" class="nav__menu-mega-link">Deployment Modes</a>--> </li> </ul> </li> <!-- SOLUTIONS --> <!--<li class="nav__menu-item"> <a href="/solutions">Solutions</a> <ul class="vertical menu nav__submenu"> <li> <a href="#" class="nav__submenu-link">Use Cases</a> <ul class="vertical menu nav__thirdmenu"> <li><a href="/solutions/use-case/complex-data-replication/" class="nav__submenu-link">Complex Data Replication</a></li> <li><a href="/solutions/use-case/data-ingestion/" class="nav__submenu-link">Data Ingestion</a></li> <li><a href="/solutions/use-case/data-preparation/" class="nav__submenu-link">Data Preparation</a></li> <li><a href="/solutions/use-case/dimensional-compute/" class="nav__submenu-link">Dimensional Compute</a></li> <li><a href="/solutions/use-case/oltp-data-streaming/" class="nav__submenu-link">OLTP Data Streaming</a></li> <li><a href="/solutions/use-case/streaming-with-five-9s-availability/" class="nav__submenu-link">Streaming with Five 9s Availability</a></li> </ul> </li> <li> <a href="#" class="nav__submenu-link">Industry</a> <ul class="vertical menu nav__thirdmenu"> <li><a href="/solutions/industry-page/advertising-technology/" class="nav__submenu-link">Advertising Technology</a></li> <li><a href="/solutions/industry-page/energy-and-utilities/" class="nav__submenu-link">Energy and Utilities</a></li> <li><a href="/solutions/industry-page/financial-services/" class="nav__submenu-link">Financial Services</a></li> <li><a href="/solutions/industry-page/healthcare/" class="nav__submenu-link">Healthcare</a></li> <li><a href="/solutions/industry-page/internet-of-things-iot/" class="nav__submenu-link">Internet of Things (IoT)</a></li> <li><a href="/solutions/industry-page/oil-gas/" class="nav__submenu-link">Oil & Gas</a></li> <li><a href="/solutions/industry-page/retail-ecommerce/" class="nav__submenu-link">Retail & eCommerce</a></li> <li><a href="/solutions/industry-page/security-intelligence/" class="nav__submenu-link">Security & Intelligence</a></li> <li><a href="/solutions/industry-page/telecommunications/" class="nav__submenu-link">Telecommunications</a></li> </ul> </li> </ul> </li>--> <!-- CUSTOMERS --> <li class="nav__menu-item" role="menuitem"> <a href="https://www.datatorrent.com/customers/">Customers</a> </li> <!-- GET ENGAGED --> <li class="nav__menu-item is-dropdown-submenu-parent opens-right" role="menuitem" aria-haspopup="true" aria-expanded="false" aria-label="Get Engaged"> <a href="https://www.datatorrent.com/contact-us">Get Engaged</a> <ul class="vertical menu nav__submenu submenu is-dropdown-submenu first-sub" data-submenu="" aria-hidden="true" role="menu"> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/jumpstart/" class="nav__submenu-link">JumpStart</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/contact-us/" class="nav__submenu-link">Contact Us</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/request-a-demo/" class="nav__submenu-link">Request a Demo</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/download/" class="nav__submenu-link">Download RTS</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="http://apex.apache.org/downloads.html" class="nav__submenu-link">Download Apex</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/support/" class="nav__submenu-link">Get Support</a></li> <!--<li><a href="/products-services/start-up-accelerator/" class="nav__submenu-link">Startup Accelerator</a></li>--> <!--<li><a href="/university-incubator/" class="nav__submenu-link">University Incubator</a></li>--> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/company/partners/" class="nav__submenu-link">Become A Partner</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/products-services/professional-services/" class="nav__submenu-link">Professional Services</a></li> <!--<li><a href="/university/" class="nav__submenu-link">Get Training</a></li>--> </ul> </li> <!-- MORE --> <li class="nav__menu-item is-dropdown-submenu-parent opens-right" role="menuitem" aria-haspopup="true" aria-expanded="false" aria-label="More"> <a href="https://www.datatorrent.com/company/about-us/">More</a> <ul class="vertical menu nav__submenu submenu is-dropdown-submenu first-sub" data-submenu="" aria-hidden="true" role="menu"> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/company/about-us/" class="nav__submenu-link">About Us</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/news/" class="nav__submenu-link">In the News</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/blog/" class="nav__submenu-link">Blogs</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/events/" class="nav__submenu-link">Events</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/resources/" class="nav__submenu-link">Resources</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/company/why-datatorrent/" class="nav__submenu-link">Why DataTorrent</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/growth/" class="nav__submenu-link" target="_blank">Momentum</a></li> <li role="menuitem" class="is-submenu-item is-dropdown-submenu-item"><a href="https://www.datatorrent.com/company/careers/" class="nav__submenu-link">Careers</a></li> <!--<li><a href="/company/team/" class="nav__submenu-link">Team</a></li>--> </ul> </li> <!-- SEARCH ICON --> <li class="nav__menu-item" role="menuitem"><a data-open="nav__search" aria-controls="nav__search" id="fbo2hn-reveal" aria-haspopup="true" tabindex="0"><i class="fa fa-search" aria-hidden="true"></i></a></li> <!-- MODAL --> <li role="menuitem"><a href="https://www.datatorrent.com/download/" class="btn btn--green nav__btn">Download Now</a></li> </ul> </div> <!-- /top bar --> </div> <!-- /menu container --> </div> <!-- /main nav --> </nav> <div class="sticky-header-target"></div> <!-- ````````````````````````````````````````````` ````````````````````````````````````````````` ````````````````````````````````````````````` END NAV --> <!-- ````````````````````````````````````````````` ````````````````````````````````````````````` ````````````````````````````````````````````` STICKY HEADER --> <div style="position: relative;"> <div class="sticky-header clearfix" style="display: none;"> <!-- left --> <div class="sticky-header__left"> <a href="https://www.datatorrent.com/"><img src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/logo_datatorrent.png" width="100%" height="100%" class="nav__logo"></a> </div> <!-- right --> <div class="sticky-header__right"> <a href="https://www.datatorrent.com/download/" class="btn btn--green nav__btn">Download Now</a> </div> </div> </div> <!-- ````````````````````````````````````````````` ````````````````````````````````````````````` ````````````````````````````````````````````` /STICKY HEADER --> <div class="fusion-row" style=""> <div id="" class="topper " style="background: url("/wp-content/uploads/2017/08/header-black.jpg") center center / cover no-repeat; position: relative; overflow: hidden;"> <video class="jquery-background-video" muted="" loop="" poster="/wp-content/uploads/2017/08/header-black.jpg" style="min-width: auto; min-height: auto; width: 1200px; height: auto; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); transition-duration: 2000ms;"> <source src="no" type="video/mp4"> </video> <div class="relative"> <!-- BANNER --> <div class="topper__banner topper__banner--xs"> <!-- h1 --> <h1 class="heading--1" style="color: #ffffff; font-size: !important;" data-fontsize="70" data-lineheight="84">The DataTorrent Blog</h1> <!-- category --> </div> <!-- STICKY NAV --> <ul class="topper__underline-nav topper__underline-nav--6 clearfix green "> <li><a href="https://www.datatorrent.com/documents/" class="topper__underline-nav-item">Documents</a></li> <li><a href="https://www.datatorrent.com/videos/" class="topper__underline-nav-item">Videos</a></li> <li><a href="https://www.datatorrent.com/webinars/" class="topper__underline-nav-item">Webinars</a></li> <li><a href="https://www.datatorrent.com/events/" class="topper__underline-nav-item">Events</a></li> <li><a href="https://www.datatorrent.com/blog/" class="topper__underline-nav-item">Blogs</a></li> <li><a href="https://www.datatorrent.com/product-documentation/" class="topper__underline-nav-item">Product Docs</a></li> </ul> </div> <button class="jquery-background-video-pauseplay pause" style="left: auto; right: 15px; top: 15px; bottom: auto;"><span>Pause</span></button></div> <div class="clearfix dt-list-page"> <div class="padding padding--tb-sm fusion-clearfix"> <div id="content" style="float: left;"> <div class="single-navigation clearfix"> <a href="https://www.datatorrent.com/blog/apex-accepted-as-apache-incubator-project/" rel="prev">Previous</a> <a href="https://www.datatorrent.com/blog/buildingapps/" rel="next">Next</a> </div> <div id="post-1996" class="post post-1996 type-post status-publish format-standard hentry category-technical"> <h2 class="entry-title" data-fontsize="30" data-lineheight="36">Introducing Apache Apex (Incubating)</h2> <div class="post-content"> <p>Last week, I published a <a href="https://www.datatorrent.com/apex-accepted-as-apache-incubator-project/">blog</a> announcing that Apex was accepted as an Apache incubator project. This week, I’ll give you a little more detail on what Apache Apex is, and why it’s important.</p> <p>Apache Hadoop has been around for over a decade. It has become the de-facto big data platform, allowing enterprises to transform their business operations by turning big data into something useful, meaningful, and revenue-generating. Hadoop promised the enablement of big data without incurring the costs you would normally think such powerful processing systems would demand. This tremendous promise of transforming business operations continues to fuel high growth in the industry.</p> <p>It all got started when Hadoop engineers at Yahoo! asked, “How can we build an efficient search indexing capability?” The ensuing iterations and some <a href="http://research.google.com/archive/mapreduce.html" target="_blank">inspiration</a> resulted in the MapReduce programming model. Although powerful, MapReduce wasn’t perfect. Mastering MapReduce required a steep learning curve. Migrating applications to MapReduce required an almost complete rewrite. Equally worrisome was the fact that MapReduce had batch processing paradigm and “compute going to data” at its core, thus posing a deterrent to Hadoop realizing its true potential. Expectedly enough, MapReduce was an impediment that did little to bolster productization of big data. Not to be deterred, there were faster substitutes for MapReduce. Just like Hadoop, these models required deeper expertise, were tough to operate and difficult to master. As such, Hadoop disrupted the way big data needs were handled, but remained largely under-productized. A decade after Hadoop was started, only a small percentage of big data projects are in production. Data is growing rapidly and the ability to harness big data has become a decisive competitive advantage. MapReduce impedes this demand (actually more of a scramble) to transform into a data-driven business.</p> <p>In hindsight, it is clear that in the early days, the subsequent success of Hadoop was not anticipated. If they had anticipated Hadoop’s success, the question would have been, “What can we do with massively distributed resources?” The answer to this question, which came about soon after, was YARN (Hadoop 2.0), the next generation Hadoop. For the first time, YARN brought the capability of exploring how distributed resources handling big data could perform “a lot of things”, thus going beyond the early MapReduce paradigm, and in a way beyond batch or even compute-going-to-data paradigms. YARN presented the capability to allow big data to not just become big in size, but broader in use cases. With its enabling capability as a Hadoop facilitator, YARN has pushed Hadoop towards realizing its true potential. The Hadoop predicament is similar to what cellphones would have been without the more popular features such as messaging and internet connectivity. In their early years, cellphones upset the landline market, but did not foster an immediate market furor till it transformed into the new-age “smartphone” with impressive features. YARN is most certainly the enabling factor for big data dreaming bigger and wider, and with it, Hadoop 2.0 is now a true de-facto distributed operating system.</p> <p><em>What’s needed is bleeding edge YARN-based platforms capable of radically realizing Hadoop’s potential </em></p> <p>Now is the right time to not only productize big data, but to see how setting it in motion can ensure realization of greater business goals. A Herculean task, this demands platforms that are easy to deploy, require nothing beyond everyday IT expertise, can effortlessly integrate with an existing IT infrastructure while ensuring ease of migration. The new-age Hadoop platforms need to be designed with an approach to reduce time-to-market by shortening the application lifecycle, from building to launching, thus quickening the realization of revenue for businesses. They will also have to reduce time for developers to develop, devOps to operationalize, and finally reduce time to insight for business. Platforms such as these will need to learn, adapt, and change to meet the burgeoning needs of the big data world.</p> <p>Let’s take a look at the top precepts of building these platforms:</p> <ul> <li><strong>Simplicity and Expertise</strong><br> It is very hard to fully comprehend big data, but what can be done instead is keeping the platforms simple and free from requiring deep expertise, all the while promising easy migration. The focus should be on “use the current expertise to get more”, whether it means simple workflow, or a simple API. A simple API will do away with the need for extensive changes while interacting with the Hadoop ecosystem, thus making the platform viable and sufficient to address growing data needs. Big data must move away from “learn the expertise of a new paradigm and get high salary”. Smart phones are not adding excessive burden to learn something new, so why should big data? The motto must be “be open, have simple API, and continue to retain its simplicity”. In simple terms, the platform must enable user-defined functions (UDF) to leverage full features. Better yet, business logic should only be user-defined functions, and nothing more.</li> <li><strong>Code Reuse<br> </strong>Code reuse is to not just reuse a code in a single streaming application, but to use it anywhere, whether it is a streaming or batch job. Platforms for big data should be able to deftly handle batch as well as streaming jobs while enabling users to use their codes as is. That is why the platforms should leverage the data-in-motion architecture that allows for a unification of stream and batch processing. A platform that handles unbounded data can easily handle unbounded data. Additionally, with the data-in-motion architecture, results are processed almost instantaneously, thus reducing time and the cost required for business continuity.</li> <li><strong>Operability<br> </strong>In big data, the cost of functional development is at the most 20% (I am being lenient), while the cost of operability is at least 80% of the entire cost. In my Yahoo! days, we spent more than 80% of the resources on operational tasks. This was true in Yahoo! Hadoop as well as Yahoo! Finance. An ideal platform should support operability natively, not to be slapped on later. Businesses should be able to only focus on business logic, as that is best understood by them, and nothing more. Operational tasks are not their core expertise, and should be “outsourced” to the platform, and therefore, operability must work with user-defined code. This will enable a platform to suit unique business needs. Forcing operational aspects in user code indirectly causes big data projects to fail.</li> <li><strong>Integration and ease of use<br> </strong>These factors have a direct impact on the success of a big data project. Big data projects are not isolated systems, which is why platforms should easily blend with current data flow architectures. The lack of easy integration is a big problem with the current Hadoop eco-system, a problem that can be resolved by ensuring that the platform can read from, and write to all data sources/destinations. Moreover, maintenance, management, and monitoring of such a platform must be easy, requiring no special engineering effort.</li> <li><strong>Leverage Investments in Hadoop<br> </strong>Lastly, the new age big data platform should be such that it realizes the extent of investments made in big data, namely Hadoop. It is already de-facto, it already exists. The core of the Hadoop eco-system (HDFS, YARN) is maturing fast. A new platform should be YARN native. The platforms must natively leverage all the maturity of Hadoop, and YARN in particular. As YARN matures, it will continue to improve on uptime, fault tolerance, security, multi-tenancy, and so on. The support and development cost structure of a native YARN platform will be much lower as compared to platforms that run external to YARN, or were not natively built for YARN. More YARN native features will result in fewer clusters, translating to higher operability.</li> </ul> <p><em>Apache Apex is industry’s first ever YARN native engine that fulfills the disruptive promise of big data</em></p> <p>Because big data is tough to envisage in its entirety, the platform must be such that it posits to become the basis for driving big data processing needs, in a batch paradigm, streaming paradigm, or both. Apache Apex is industry’s only open-source enterprise-grade engine capable of handling batch data as well as steaming data needs. Apache Apex is groomed to drive the highest value for businesses operating in highly data-intensive environments.</p> <p>Here is why Apache Apex is a go-to solution for bringing big data projects to success:</p> <ul> <li><strong>Simplicity and expertise</strong><br> The Apache Apex API is very simple. An application is a directed acyclic graph (DAG) of multiple operators. The operator developer only needs to implement a simple “process()” call. This API allows users to plug in any function (or UDF) for processing incoming events. The single-thread execution and application-level JAVA expertise are the top reasons why Apex enables big data teams to develop applications within weeks, and allows them to go live in as little as 3 months. Not only is Apex simple to deploy and customize, but the expertise required to leverage its full capabilities is easily available.</li> <li><strong>Code reuse<br> </strong>Developers require minimal training to build big data applications on Apache Apex. What’s more, they do not require significant changes in their business logic; a minimal tweaking of their existing code suffices. A complete separation of functional specification from operational specification greatly enhances reuse of existing code. Additionally, Apex enables defining reusable modules. It enables the same business logic to be used for stream as well as batch. Apex is a data-in-motion platform that allows for a unification of processing of never-ending streams of unbounded data (streaming job), or bounded data in files (batch job). Organizations can build applications to suit their business logic, and extend the applications across both batch as well as streaming jobs. Apache Apex architecture can handle reading from and writing to message buses, file systems, databases or any other sources. As long as these sources have client code that can be run within a JVM, the integration works seamlessly.</li> <li><strong>Operability<br> </strong>The ability to read from a file is necessary, but not a sufficient aspect of using a data-in-motion platform for batch processing. The other aspect is that it must meet the enterprise operability SLA requirement. Apex is built for enhanced operability, such that applications built on Apex need only worry about the business logic. For native fault tolerance, Apex platform ensures that data is not lost, master (Meta data) is backed up, and equally importantly, the application state is retained in HDFS (a persistent store). Businesses can choose other persistent stores with a DFS interface if need be. With Apex, fault tolerance is native to Hadoop and does not require an additional system outside of Hadoop to hold state, nor any extra code for users to write. Apex applications can recover from Hadoop outages from their last-known state that persists in HDFS. It is easy to run two Apex applications of different versions in the same Hadoop cluster, or even change applications dynamically. It is easy to operate and upgrade applications. No new scheduling overhead exists once the application is running, unless the change in resources is asked by the application or by YARN. Apex has in-built data-in-motion constructs that enable data flow to be in million(s) of events/second on a single core. Apex is thus an easy-to-leverage, highly scalable platform that is built on the same security standards as Hadoop.</li> </ul> <p><strong>This figure shows an Apex application running in a multi-tenant Hadoop cluster:</strong></p> <p> </p> <p><a href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/apex-application-in-hadoop-cluster.png" data-caption=""><img class="alignnone size-full wp-image-1998" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/apex-application-in-hadoop-cluster.png" alt="Apex Application in a multi-tenant Hadoop Cluster" width="975" height="531"></a></p> <ul> <li><strong>Integration and Ease of Use<br> </strong>The Apex platform comes with support for web services and metrics. This enables ease of use and easy integration with current data pipeline components. DevOps teams can monitor data in action using existing systems and dashboards with minimal changes, thereby easily integrating with the current setup. With different connectors and the ease of adding more connectors, Apex easily integrates with an existing dataflow.</li> </ul> <p> </p> <p><strong>This figure shows the ease of integration with other sources/destinations:</strong></p> <p><a href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/apache-apex-ease-of-integration.png" data-caption=""><img class="alignnone size-full wp-image-1999" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/apache-apex-ease-of-integration.png" alt="Apache Apex - Ease of Integration" width="975" height="504"></a></p> <ul> <li><strong>Leverage Investments in Hadoop<br> </strong>Apex is a native YARN big data-in-motion platform with a vision of leveraging existing distributed operating systems, and not building another. Just like MapReduce, it does not have: Resource Scheduler and Management, Distributed File System, Security setup, other common utilities available within a distributed operating system. Apex leverages all YARN features without an overlap with YARN, while using HDFS as default persistent state store. All investments by enterprises in Hadoop in terms of expertise, hardware, and integration are leveraged. A rise in maturity of YARN will translate to a thoroughly mature platform capable of handling gigantic volumes of data, while ensuring the cost of operations never shoots out of the window</li> </ul> <p> </p> <p><strong>This figure shows how Apex can be easily reused while leveraging investments in Hadoop:</strong></p> <p><a href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/apache-apex-easily-reused.png" data-caption=""><img class="alignnone size-full wp-image-2000" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/apache-apex-easily-reused.png" alt="Apache Apex ' Easily Reused" width="975" height="404"></a></p> <ul> <li><strong>Malhar<br> </strong>Apex comes with Malhar — a library of operators. These pre-built operators for data sources and destinations of popular message buses, file systems, and databases, enable organizations to experience accelerated development of business logic. This reduces the time-to-market significantly, allowing for greater success in developing and launching big data projects.</li> </ul> <p> </p> <p><strong>This figure shows different categories of operators in Malhar:</strong></p> <p><a href="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/malhar-operators.png" data-caption=""><img class="alignnone size-full wp-image-2001" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/malhar-operators.png" alt="Malhar Operators" width="975" height="596"></a></p> <p>Apache Apex is incubating <a href="http://incubator.apache.org/projects/apex.html">http://incubator.apache.org/projects/apex.html</a>.</p> <p>The Apex-Core is available at <a href="https://git-wip-us.apache.org/repos/asf?p=incubator-apex-core.git">https://git-wip-us.apache.org/repos/asf?p=incubator-apex-core.git</a>.</p> <p>You can access the Apex-Malhar library at <a href="https://git-wip-us.apache.org/repos/asf?p=incubator-apex-malhar.git">https://git-wip-us.apache.org/repos/asf?p=incubator-apex-malhar.git</a>.</p> <p>Affiliations with Apache Apex include Apple, Barclays, CapitalOne, DataChief, E8security, General Electric, and Silver Spring Networks. We welcome everyone to join us on the path to develop the next generation eco-system that aims as increasing the success rate of big data projects.</p> <p>If you want to make a difference, become an Apex contributor. Join us in developing industry’s only open source enterprise-grade unified stream and batch platform!</p> </div> <div class="fusion-meta-info"><div class="fusion-meta-info-wrapper"><div class="blog-author-single">Amol Kekre | </div> <span class="vcard" style="display: none;"> <span class="fn"> <a href="https://www.datatorrent.com/blog/author/michelle/" title="Posts by michelle" rel="author">michelle</a> </span> </span> <span class="updated" style="display:none;"> 2017-10-09T13:38:45+00:00 </span> <span>September 9th, 2015</span><span class="fusion-inline-sep">|</span><a href="https://www.datatorrent.com/blog/category/technical/" rel="category tag">Technical</a><span class="fusion-inline-sep">|</span><span class="fusion-comments"><a href="https://www.datatorrent.com/blog/introducing-apache-apex-incubating/#comments">1 Comment</a></span></div></div> <div class="fusion-sharing-box fusion-single-sharing-box share-box"> <h4 data-fontsize="13" data-lineheight="19">Share This Story, Choose Your Platform!</h4> <div class="fusion-social-networks"><div class="fusion-social-networks-wrapper"><a class="fusion-social-network-icon fusion-tooltip fusion-facebook fusion-icon-facebook" style="color:#bebdbd;" href="http://www.facebook.com/sharer.php?m2w&s=100&p[url]=https://www.datatorrent.com/blog/introducing-apache-apex-incubating/&p[images][0]=&p[title]=Introducing%20Apache%20Apex%20%28Incubating%29" target="_blank" data-placement="top" data-title="Facebook" data-toggle="tooltip" title="" data-original-title="Facebook"><span class="screen-reader-text">Facebook</span></a><a class="fusion-social-network-icon fusion-tooltip fusion-twitter fusion-icon-twitter" style="color:#bebdbd;" href="https://twitter.com/share?text=Introducing%20Apache%20Apex%20%28Incubating%29&url=https%3A%2F%2Fwww.datatorrent.com%2Fblog%2Fintroducing-apache-apex-incubating%2F" target="_blank" data-placement="top" data-title="Twitter" data-toggle="tooltip" title="" data-original-title="Twitter"><span class="screen-reader-text">Twitter</span></a><a class="fusion-social-network-icon fusion-tooltip fusion-linkedin fusion-icon-linkedin" style="color:#bebdbd;" href="https://www.linkedin.com/shareArticle?mini=true&url=https://www.datatorrent.com/blog/introducing-apache-apex-incubating/&title=Introducing%20Apache%20Apex%20%28Incubating%29&summary=Last%20week%2C%20I%20published%20a%20blog%20announcing%20that%20Apex%20was%20accepted%20as%20an%20Apache%20incubator%20project.%20This%20week%2C%20I%26%2339%3Bll%20give%20you%20a%20little%20more%20detail%20on%20what%20Apache%20Apex%20is%2C%20and%20why%20it%26%2339%3Bs%20important.Apache%20Hadoop%20has%20been%20around%20for%20over%20a%20decade.%20It%20has%20become%20the%20de-facto%20big%20data%20platform%2C%20allowing%20enterprises%20to%20transform" target="_blank" data-placement="top" data-title="Linkedin" data-toggle="tooltip" title="" data-original-title="Linkedin"><span class="screen-reader-text">Linkedin</span></a><a class="fusion-social-network-icon fusion-tooltip fusion-reddit fusion-icon-reddit" style="color:#bebdbd;" href="http://reddit.com/submit?url=https://www.datatorrent.com/blog/introducing-apache-apex-incubating/&title=Introducing%20Apache%20Apex%20%28Incubating%29" target="_blank" data-placement="top" data-title="Reddit" data-toggle="tooltip" title="" data-original-title="Reddit"><span class="screen-reader-text">Reddit</span></a><a class="fusion-social-network-icon fusion-tooltip fusion-tumblr fusion-icon-tumblr" style="color:#bebdbd;" href="http://www.tumblr.com/share/link?url=https%3A%2F%2Fwww.datatorrent.com%2Fblog%2Fintroducing-apache-apex-incubating%2F&name=Introducing%20Apache%20Apex%20%28Incubating%29&description=Last%20week%2C%20I%20published%20a%20blog%20announcing%20that%20Apex%20was%20accepted%20as%20an%20Apache%20incubator%20project.%20This%20week%2C%20I%26%2339%3Bll%20give%20you%20a%20little%20more%20detail%20on%20what%20Apache%20Apex%20is%2C%20and%20why%20it%26%2339%3Bs%20important.Apache%20Hadoop%20has%20been%20around%20for%20over%20a%20decade.%20It%20has%20become%20the%20de-facto%20big%20data%20platform%2C%20allowing%20enterprises%20to%20transform" target="_blank" data-placement="top" data-title="Tumblr" data-toggle="tooltip" title="" data-original-title="Tumblr"><span class="screen-reader-text">Tumblr</span></a><a class="fusion-social-network-icon fusion-tooltip fusion-googleplus fusion-icon-googleplus" style="color:#bebdbd;" href="https://plus.google.com/share?url=https://www.datatorrent.com/blog/introducing-apache-apex-incubating/" onclick="javascript:window.open(this.href,'', 'menubar=no,toolbar=no,resizable=yes,scrollbars=yes,height=600,width=600');return false;" target="_blank" data-placement="top" data-title="Google+" data-toggle="tooltip" title="" data-original-title="Google+"><span class="screen-reader-text">Google+</span></a><a class="fusion-social-network-icon fusion-tooltip fusion-pinterest fusion-icon-pinterest" style="color:#bebdbd;" href="http://pinterest.com/pin/create/button/?url=https%3A%2F%2Fwww.datatorrent.com%2Fblog%2Fintroducing-apache-apex-incubating%2F&description=Last%20week%2C%20I%20published%20a%20blog%20announcing%20that%20Apex%20was%20accepted%20as%20an%20Apache%20incubator%20project.%20This%20week%2C%20I%26%2339%3Bll%20give%20you%20a%20little%20more%20detail%20on%20what%20Apache%20Apex%20is%2C%20and%20why%20it%26%2339%3Bs%20important.Apache%20Hadoop%20has%20been%20around%20for%20over%20a%20decade.%20It%20has%20become%20the%20de-facto%20big%20data%20platform%2C%20allowing%20enterprises%20to%20transform&media=" target="_blank" data-placement="top" data-title="Pinterest" data-toggle="tooltip" title="" data-original-title="Pinterest"><span class="screen-reader-text">Pinterest</span></a><a class="fusion-social-network-icon fusion-tooltip fusion-vk fusion-icon-vk" style="color:#bebdbd;" href="http://vkontakte.ru/share.php?url=https%3A%2F%2Fwww.datatorrent.com%2Fblog%2Fintroducing-apache-apex-incubating%2F&title=Introducing%20Apache%20Apex%20%28Incubating%29&description=Last%20week%2C%20I%20published%20a%20blog%20announcing%20that%20Apex%20was%20accepted%20as%20an%20Apache%20incubator%20project.%20This%20week%2C%20I%26%2339%3Bll%20give%20you%20a%20little%20more%20detail%20on%20what%20Apache%20Apex%20is%2C%20and%20why%20it%26%2339%3Bs%20important.Apache%20Hadoop%20has%20been%20around%20for%20over%20a%20decade.%20It%20has%20become%20the%20de-facto%20big%20data%20platform%2C%20allowing%20enterprises%20to%20transform" target="_blank" data-placement="top" data-title="Vk" data-toggle="tooltip" title="" data-original-title="Vk"><span class="screen-reader-text">Vk</span></a><a class="fusion-social-network-icon fusion-tooltip fusion-mail fusion-icon-mail fusion-last-social-icon" style="color:#bebdbd;" href="mailto:?subject=Introducing%20Apache%20Apex%20(Incubating)&amp;body=https://www.datatorrent.com/blog/introducing-apache-apex-incubating/" target="_self" data-placement="top" data-title="Email" data-toggle="tooltip" title="" data-original-title="Email"><span class="screen-reader-text">Email</span></a><div class="fusion-clearfix"></div></div></div> </div> <div id="comments" class="comments-container"> <div class="fusion-title fusion-title-size-three sep-double fusion-border-below-title" style="margin-top:0px;margin-bottom:31px;"><h3 class="title-heading-left" data-fontsize="20" data-lineheight="NaN"> One Comment </h3><div class="title-sep-container"><div class="title-sep sep-double"></div></div></div> <ol class="comment-list commentlist"> <li class="pingback even thread-even depth-1" id="comment-19"> <div class="the-comment"> <div class="avatar"></div> <div class="comment-box"> <div class="comment-author meta"> <strong><a href="https://www.datatorrent.com/blog/the-next-generation-of-big-data-and-apache-apex/" rel="external nofollow" class="url">The Next Generation of Big Data and Apache Apex - DataTorrent</a></strong> April 25, 2016 at 4:16 pm<a rel="nofollow" class="comment-reply-link" href="https://www.datatorrent.com/blog/introducing-apache-apex-incubating/?replytocom=19#respond" onclick="return addComment.moveForm( "comment-19", "19", "respond", "1996" )" aria-label="Reply to The Next Generation of Big Data and Apache Apex - DataTorrent"> - Reply</a> </div> <div class="comment-text"> <p>[…] make Hadoop not just big, but wider too in terms of use cases. This goal is part and parcel of the charter of Apache […]</p> </div> </div> </div> </li><!-- #comment-## --> </ol><!-- .comment-list --> </div> <div id="respond" class="comment-respond"> <div class="fusion-title title fusion-title-size-three sep-double fusion-border-below-title" style="margin-top:0px;margin-bottom:31px;"><h3 id="reply-title" class="comment-reply-title title-heading-left" data-fontsize="15" data-lineheight="18">Leave A Comment <small><a rel="nofollow" id="cancel-comment-reply-link" href="https://www.datatorrent.com/blog/introducing-apache-apex-incubating/#respond" style="display:none;">Cancel reply</a></small></h3><div class="title-sep-container"><div class="title-sep sep-double "></div></div></div> <form action="https://www.datatorrent.com/wp-comments-post.php" method="post" id="commentform" class="comment-form"> <div id="comment-textarea"><label class="screen-reader-text" for="comment">Comment</label><textarea name="comment" id="comment" cols="45" rows="8" aria-required="true" required="required" tabindex="0" class="textarea-comment" placeholder="Comment..." style="max-width: 715px;"></textarea></div><div id="comment-input"><input id="author" name="author" type="text" value="" placeholder="Name (required)" size="30" aria-required="true" required="required"> <input id="email" name="email" type="email" value="" placeholder="Email (required)" size="30" aria-describedby="email-notes" aria-required="true" required="required"> <input id="url" name="url" type="url" value="" placeholder="Website" size="30"></div> <p class="form-submit"><input name="submit" type="submit" id="comment-submit" class="fusion-button fusion-button-default" value="Post Comment"> <input type="hidden" name="comment_post_ID" value="1996" id="comment_post_ID"> <input type="hidden" name="comment_parent" id="comment_parent" value="0"> </p> </form> </div><!-- #respond --> </div> </div> <div id="sidebar" class="sidebar fusion-widget-area fusion-content-widget-area" style="float: right;"> <div id="categories-2" class="widget widget_categories"><div class="heading"><h4 class="widget-title" data-fontsize="20" data-lineheight="24">Categories</h4></div> <ul> <li class="cat-item cat-item-40"><a href="https://www.datatorrent.com/blog/category/business/">Business</a> </li> <li class="cat-item cat-item-39"><a href="https://www.datatorrent.com/blog/category/technical/">Technical</a> </li> </ul> </div><div id="hybrid-archives-2" class="widget widget-archives widget_archive"><div class="heading"><h4 class="widget-title" data-fontsize="20" data-lineheight="24">Archives</h4></div><ul class="xoxo archives"><li><a href="https://www.datatorrent.com/blog/2018/">2018</a></li><li><a href="https://www.datatorrent.com/blog/2017/">2017</a></li><li><a href="https://www.datatorrent.com/blog/2016/">2016</a></li><li><a href="https://www.datatorrent.com/blog/2015/">2015</a></li><li><a href="https://www.datatorrent.com/blog/2014/">2014</a></li><li><a href="https://www.datatorrent.com/blog/2013/">2013</a></li></ul><!-- .xoxo .archives --></div> </div> </div> </div><!-- end dt list --> <div id="" class="cta-btn-link clearfix " style=" background-color:#eeeeee; background-image: url();"> <div class="cta-btn-link__item"> <h4 class="heading--4 cta-btn-link__heading--4" style="color:;" data-fontsize="20" data-lineheight="24">READY TO GET STARTED?</h4> </div> <div class="cta-btn-link__item"> <a href="https://www.datatorrent.com/contact-us/" class="btn btn--green cta-btn-link__btn">CONTACT US</a> </div> </div> </div> <!-- fusion-row --> <!-- ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` FOOTER --> <div class="footer clearfix"> <!-- LEFT --> <div class="footer__left clearfix"> <div class="clearfix"> <ul class="footer__links clearfix copy--md"> <li><a href="https://www.datatorrent.com/products-services/" class="footer__links-item">Products & Services</a></li> <li><a href="https://www.datatorrent.com/appfactory/" class="footer__links-item">AppFactory</a></li> <li><a href="https://www.datatorrent.com/customers/" class="footer__links-item">Customers</a></li> <li><a href="https://www.datatorrent.com/company/about-us/" class="footer__links-item">Company</a></li> <li><a href="https://www.datatorrent.com/download/" class="footer__links-item">Download Now</a></li> </ul> <ul class="footer__links clearfix copy--md"> <li><a href="https://www.datatorrent.com/resources/" class="footer__links-item">Resources</a></li> <li><a href="https://www.datatorrent.com/partners/" class="footer__links-item">Partners</a></li> <li><a href="https://www.datatorrent.com/support/" class="footer__links-item">Support</a></li> <li><a href="https://www.datatorrent.com/contact-us/" class="footer__links-item">Contact Us</a></li> <li><a href="https://www.datatorrent.com/site-map/" class="footer__links-item">Site Map</a></li> </ul> </div> <div class="footer__copyright copy--sm"> Copyright © 2018 DataTorrent<br> Apache, Hadoop, Apex, Yarn, HDFS and the Hadoop elephant and Apache project logos are either registered trademarks or trademarks of the Apache Software Foundation in the United States or other countries.<br><br> <a href="https://www.datatorrent.com/privacy-policy"> Privacy Policy</a> </div> </div><div class="footer__right"> <!-- newsletters signup --> <div class="footer__newsletter-signup" style="display: none;"> <label class="footer__newsletter-label"> <fieldset class="footer__newsletter-fieldset"> <legend class="footer__newsletter-legend">Newsletter Sign Up</legend> <script src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/forms2.min.js"></script> <form id="mktoForm_1496" novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft" style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); width: 1121px;"> <style type="text/css">.mktoForm .mktoButtonWrap.mktoSimple .mktoButton { color:#fff; border:1px solid #75ae4c; padding:0.4em 1em; font-size:1em; background-color:#99c47c; background-image: -webkit-gradient(linear, left top, left bottom, from(#99c47c), to(#75ae4c)); background-image: -webkit-linear-gradient(top, #99c47c, #75ae4c); background-image: -moz-linear-gradient(top, #99c47c, #75ae4c); background-image: linear-gradient(to bottom, #99c47c, #75ae4c); } .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:hover { border:1px solid #447f19; } .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:focus { outline:none; border:1px solid #447f19; } .mktoForm .mktoButtonWrap.mktoSimple .mktoButton:active{ background-color:#75ae4c; background-image: -webkit-gradient(linear, left top, left bottom, from(#75ae4c), to(#99c47c)); background-image: -webkit-linear-gradient(top, #75ae4c, #99c47c); background-image: -moz-linear-gradient(top, #75ae4c, #99c47c); background-image: linear-gradient(to bottom, #75ae4c, #99c47c); } </style><div class="mktoFormRow"><div class="mktoFieldDescriptor mktoFormCol" style="margin-bottom: 10px;"><div class="mktoOffset" style="width: 10px;"></div><div class="mktoFieldWrap mktoRequiredField"><label for="Email" class="mktoLabel mktoHasWidth" style="width: 100px;"><div class="mktoAsterix">*</div>Email Address:</label><div class="mktoGutter mktoHasWidth" style="width: 10px;"></div><input id="Email" name="Email" placeholder="abc@abc.com" maxlength="255" type="email" class="mktoField mktoEmailField mktoHasWidth mktoRequired" style="width: 150px;"><div class="mktoClear"></div></div><div class="mktoClear"></div></div><div class="mktoClear"></div></div><div class="mktoButtonRow"><span class="mktoButtonWrap mktoSimple" style="margin-left: 120px;"><button type="submit" class="mktoButton">Submit</button></span></div><input type="hidden" name="formid" class="mktoField mktoFieldDescriptor" value="1496"><input type="hidden" name="munchkinId" class="mktoField mktoFieldDescriptor" value="661-RYF-836"></form> <script>MktoForms2.loadForm("//app-ab06.marketo.com", "661-RYF-836", 1496);</script> <!-- <input class="footer__newsletter-field" placeholder="john@email.com" /> <button class="footer__newsletter-submit"><i class="fa fa-plus" aria-hidden="true"></i></button> --> </fieldset> </label> </div> <!-- newsletters button --> <div class="footer__newsletter-btn">Newsletter Sign Up</div> <ul class="footer__social"> <li><a href="https://www.facebook.com/DataTorrent/" class="footer__social-item" target="_blank"><i class="fa fa-facebook" aria-hidden="true"></i></a></li> <li><a href="https://twitter.com/datatorrent" class="footer__social-item" target="_blank"><i class="fa fa-twitter" aria-hidden="true"></i></a></li> <li><a href="https://www.linkedin.com/company/malhar-inc-" class="footer__social-item" target="_blank"><i class="fa fa-linkedin" aria-hidden="true"></i></a></li> <li><a href="https://www.youtube.com/user/DataTorrent" class="footer__social-item" target="_blank"><i class="fa fa-youtube" aria-hidden="true"></i></a></li> <li><a href="http://www.meetup.com/Apache-Apex-Bay-Area/" class="footer__social-item" target="_blank"> <svg class="meetup-icon" version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 5573.1 1990.2" style="enable-background:new 0 0 5573.1 1990.2;" xml:space="preserve"> <path d="M3283.7,1072.6c-7.7,11.6-12.6,19.5-17.9,27.2c-49.8,71.4-105.8,136.6-182,181.7 c-102.2,60.4-213,85.3-328.4,60.3c-59.2-12.9-114.4-46-170.2-72.5c-12.9-6.1-19.9-6.2-31.3,0.5c-47.9,28.2-94.4,59.9-145.1,81.8 c-89.9,38.9-184.6,60.8-282.5,34.9c-61.4-16.2-114.4-50.8-162.4-92.4c-34-29.5-36.2-29.5-70.7-1.1c-62,51-133.6,83.9-208.5,111.1 c-92.9,33.7-188.8,54.4-286.8,64.1c-119.6,11.8-230.5-8.5-311.4-106.8c-64.9-78.8-82.2-170.2-42.5-265.1 c43.5-104,93.7-205.2,140.9-307.7c24.6-53.4,49.4-106.7,73.3-160.4c4.4-9.9,6.1-21.4,6.6-32.3c0.9-20,5-41.9-18.1-54 c-23.6-12.3-51.5-10.1-68.9,11.9c-21.7,27.4-41,57.5-57.1,88.6c-53.6,102.8-105.4,206.6-157.7,310.1 c-39.2,77.6-77.7,155.6-117.2,233c-37.5,73.4-107.9,101.4-184.3,72.8c-25.7-9.7-41.8-28.6-46.2-57.5c-6.1-40.9,7.3-77.6,21.8-114.2 c31.7-80.2,63.8-160.2,95.5-240.4c17-43,34-86,49.9-129.4c11.2-30.3,14.5-62.5,1.5-92.3c-10.1-23-29.9-39.6-57.7-37.1 c-30.4,2.7-54.3,18.6-65.8,46.8c-40.3,99.5-79,199.7-118.6,299.5c-47.4,119.4-94.1,239.2-143.5,357.8 c-18.3,43.8-45.9,83.8-92.3,102.5c-23.5,9.5-50.1,15.4-75.4,15.8c-79,1-147.1-25.3-193.7-92.4C0,1264.3-9,1205,8.9,1142.2 c16.6-58.1,33.1-116.2,50.5-174c16.5-54.8,33.9-109.4,51-164c15.9-50.9,30.8-102.2,48.1-152.6c34-99.3,61.4-201.5,115.2-292.6 c36.8-62.3,96.5-96,164.9-116.9c71.5-21.8,132.5,5.6,193.5,36c23.2,11.5,46,23.8,69.8,33.8c33.2,13.9,63.4,5.1,90.2-16.7 c21.9-17.8,44-35.7,64.2-55.4c50.5-49.3,159.5-58.4,212.8-1.1c12.3,13.2,26.8,24.3,40.3,36.3c27.9,24.6,39.4,27.2,71.7,8.9 c76.8-43.3,156.3-37.3,234.4-9.6c45.3,16.1,72.5,54.7,89.8,100.3c25.5,67.2,14.8,132-10.7,195.2c-47,116.2-98.2,230.6-144,347.2 c-27.2,69.2-50.1,140.3-69.7,212c-8,29.2-8,63.9-0.6,93.2c11.2,44.4,51.9,59,93.1,64.2c62.7,7.9,124.2-3.7,184.2-20.3 c51.3-14.1,101.8-31.6,151.9-49.7c24.2-8.7,46.7-22.1,69.8-33.9c19.7-10,21.3-24.6,10.9-43c-21.2-37.5-43.6-74.5-62.3-113.3 c-39.6-82-72.1-166.6-63.4-260c7.6-81.8,37.1-152.9,112.6-195.9c111.4-63.5,201.9-46,283.8,48.9c70.8,82.1,94.2,180.9,63.8,286.8 c-17,59.2-41.4,116.4-64.6,173.7c-6.4,15.9-2.7,26,7.3,35.3c46.9,43.8,100.4,77.9,159.8,102c22.4,9.1,46.1,15.9,69.8,20.7 c51,10.2,98.4-1.9,140.9-30.8c20.2-13.7,20.7-26.5,6.6-45.7c-97.8-133.4-136.5-281.9-107.1-445c11-61.1,39.3-118.8,104.8-136.4 c40.5-10.9,86.3-10.4,128.5-5.1c68.5,8.7,130.5,36,172.6,95c50.5,70.8,63.4,148.2,41.6,232.8c-15.6,60.8-47.5,112.4-82.6,162.6 c-13.9,19.9-14.4,38.2,4.5,51.6c29.2,20.5,58.8,43,91.8,54.9c71.6,25.8,146,23.5,218.1,0.3c79-25.4,134.5-77.8,166.1-155.5 c37.8-93,38.3-190.3,36.3-288c-1.5-76.3-4.2-152.7-6.5-229.1c-0.8-27.3-5.2-28.9-31.2-23.6c-68.5,13.8-137.3,26.1-206.1,38.7 c-21.7,3.9-43.5,6.6-65.2,10.5c-47.2,8.5-86.2-10.9-88.8-66.1c-2.7-55.7-10.8-111.1-16.5-166.6c-0.3-3.1-0.6-6.3-0.8-9.4 c-3.2-65.4,12.6-100.9,91.1-98.1c81,3,162.1,5.6,243,9.9c39.8,2.1,53.8-8,56.4-47.5c2-30.7,2.9-61.4,4.8-92 c2.9-46,13.4-56.9,60.1-55.1c27.9,1.1,56,6,83.3,12.1c38.5,8.6,58.6,35.7,61.3,74c2.2,31.3,1.3,62.9,0.8,94.4 c-0.4,22.3,6.5,34.2,31.4,36.7c72,7.3,143.7,17.3,215.6,25.9c33.9,4,53,17.8,57.6,43c8,43.8-1.5,73.8-34.6,85.8 c-46.3,16.7-94.1,29.5-141.9,41.3c-33.5,8.3-68.1,11.8-102.1,18.1c-22.8,4.2-35.2,16.2-35,41.8c0.9,126.8-2,253.7,1.7,380.4 c1.9,66.5,11.9,133,40.2,195.1c22.9,50.3,61.9,70.1,116.3,61c79.7-13.4,152.8-41.4,216.4-91.8c35.3-28,58.6-62.2,60.3-109.5 c3.2-86.6,7.5-173.1,12.5-259.5c1.5-24.9,4.3-50.8,12.6-74c4.6-12.9,21.6-30,33.4-30.3c65.1-2,130.7-2.6,195.5,3 c40.8,3.5,68.8,41.7,66.6,84.8c-2.9,60.4-10.7,120.6-16.5,180.9c-7.1,74.4-13.7,148.9-21.6,223.2c-8,75.2,52.1,112.5,111.7,113.2 c49.9,0.6,79.4-18,100.6-70.9c22-54.7,35-114,44.5-172.5c13.4-83,19.7-167.2,29.6-250.8c4-34.1,25.3-60.4,51.8-66.1 c30.6-6.6,70.9,5.9,80.9,33.9c8.4,23.4,6.5,52,3.6,77.7c-10.8,95.2-26.4,190-35.4,285.4c-5.5,58.6,27.4,100.3,84.3,117.6 c28.4,8.6,57.8,15.4,87.2,18.8c51.6,5.9,88.1-31.8,98.9-90.4c9.1-49.3,10.3-100.1,14.8-150.3c5.2-59.6,5.9-119.9,16.1-178.6 c15-86.9,71.1-165.7,175.1-191c62.4-15.2,125.4-17,187.7-9.8c95,10.9,194.5,75.5,224.9,184.7c23.1,83,13.9,163.2-13.2,243 c-31.5,92.5-88.9,164.6-169.2,219.5c-7.4,5.1-11.7,14.7-17.4,22.2c10.1,4.5,20.3,12.9,30.3,12.7c96-1.5,186.4-23.4,269.3-73.7 c18.7-11.3,39.1-19.9,58.8-29.3c18.1-8.6,28.8,1.6,23.8,17.2c-8.4,26.2-18.5,53.9-35.3,75.1c-71,89.8-167.9,132.8-279.9,140.3 c-47.5,3.2-95.7-3.2-143.6-5.8c-36.1-2-72.2-5.2-108.3-7.6c-18.3-1.2-28.9,6.5-33.5,25.5c-28.8,118.7-44,239.5-58.9,360.5 c-9.4,76.2-23.6,152.2-41.9,226.8c-9.9,40.5-41.5,68.4-85.2,75.4c-26.1,4.2-45.5-7.1-54.3-31.5c-7.4-20.6-14.3-42.1-16.1-63.7 c-8.6-106.3-5.1-212.3,9-318.1c7.2-53.8,11.9-107.9,18.1-161.9c4.3-37.5,10-74.9,13.5-112.5c2.8-30.4-4.1-37.5-33.2-43.3 c-60.1-12-120.3-23.8-180.2-37c-40.7-9-72.4,5.4-99.9,33.4c-36.6,37.3-77.1,69.6-125.1,90.6c-58,25.3-119.5,20-179.1,10.5 c-86.1-13.7-154.8-59-203.7-131.6c-15.2-22.5-26.2-47.9-38.1-72.5c-6.7-13.8-12.6-19.1-28.8-10.9c-57.2,29.1-114.2,59-173.2,84 c-65.8,27.8-135.6,37.6-205.5,18.1c-68.1-19-120.4-62.9-163.8-117.7C3313.2,1110.5,3301.8,1095.7,3283.7,1072.6z M5246.2,800 c-0.8-9.4-0.8-18.9-2.3-28.2c-8.7-53.7-62.6-77.7-106.1-45.4c-19.6,14.6-37.5,33.9-50.9,54.4c-44.8,68.6-65,147.2-85.2,225.4 c-5.1,19.6-8.6,40.4-8.2,60.5c0.8,37.5,22.8,48.6,54.3,28.3c65.3-42.1,113.6-100.5,154.4-165.4C5227,890.2,5247.3,848.6,5246.2,800z M2685.4,837.8c0.6-37.3-8.1-71.8-35.6-98.7c-15.2-14.9-34.3-21.3-56.1-14.5c-26.5,8.2-40.8,27.9-42.8,60.5 c-3.9,63.2,23.3,117.5,51.2,171c14.4,27.5,28.1,26.7,46.6,1.2C2674.7,921.7,2684.8,881.3,2685.4,837.8z M2041.1,825.8 c-6.9-22.9-11.5-46.8-21.3-68.3c-12.6-27.4-45.1-39.7-73.8-32.2c-30.4,8-42.4,22.5-39.3,59.9c2.8,32.6,10.3,65.1,18.9,96.7 c6.4,23.3,16.2,46.1,27.7,67.3c15.6,28.5,31.9,28.8,47.2,1.2C2021.7,912.3,2038.1,872.3,2041.1,825.8z"></path> </svg> </a></li> <li><a href="https://github.com/apache/apex-core?" class="footer__social-item" target="_blank"><i class="fa fa-github" aria-hidden="true"></i></a></li> </ul> </div> <!-- BACK TO TOP --> <a href="https://www.datatorrent.com/blog/introducing-apache-apex-incubating/#" class="btn btn--purple footer__back-to-top">Back to top</a> <!-- RIGHT --> </div> <!-- ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` ```````````````````````````````````````````````````````````````````````` END FOOTER --> <a class="fusion-one-page-text-link fusion-page-load-link"></a> <!-- W3TC-include-js-head --> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/jquery.form.min.js"></script> <script type="text/javascript"> /* <![CDATA[ */ var _wpcf7 = {"loaderUrl":"https:\/\/www.datatorrent.com\/wp-content\/plugins\/contact-form-7\/images\/ajax-loader.gif","recaptcha":{"messages":{"empty":"Please verify that you are not a robot."}},"sending":"Sending ..."}; /* ]]> */ </script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/scripts.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/jquery.rwdImageMaps.min.js"></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/comment-reply.min.js"></script> <script type="text/javascript"> /* <![CDATA[ */ var toTopscreenReaderText = {"label":"Go to Top"}; var js_local_vars = {"admin_ajax":"https:\/\/www.datatorrent.com\/wp-admin\/admin-ajax.php","admin_ajax_nonce":"cacb004a5f","protocol":"1","theme_url":"https:\/\/www.datatorrent.com\/wp-content\/themes\/Avada","dropdown_goto":"Go to...","mobile_nav_cart":"Shopping Cart","page_smoothHeight":"false","flex_smoothHeight":"false","language_flag":"en","infinite_blog_finished_msg":"<em>All posts displayed.<\/em>","infinite_finished_msg":"<em>All items displayed.<\/em>","infinite_blog_text":"<em>Loading the next set of posts...<\/em>","portfolio_loading_text":"<em>Loading Portfolio Items...<\/em>","faqs_loading_text":"<em>Loading FAQ Items...<\/em>","order_actions":"Details","avada_rev_styles":"1","avada_styles_dropdowns":"1","blog_grid_column_spacing":"40","blog_pagination_type":"Pagination","carousel_speed":"2500","counter_box_speed":"1000","content_break_point":"800","disable_mobile_animate_css":"0","disable_mobile_image_hovers":"1","portfolio_pagination_type":"Pagination","form_bg_color":"#ffffff","header_transparency":"0","header_padding_bottom":"0px","header_padding_top":"0px","header_position":"Top","header_sticky":"1","header_sticky_tablet":"0","header_sticky_mobile":"0","header_sticky_type2_layout":"menu_only","sticky_header_shrinkage":"1","is_responsive":"1","is_ssl":"true","isotope_type":"masonry","layout_mode":"wide","lightbox_animation_speed":"Normal","lightbox_arrows":"1","lightbox_autoplay":"0","lightbox_behavior":"all","lightbox_desc":"1","lightbox_deeplinking":"1","lightbox_gallery":"1","lightbox_opacity":"0.9","lightbox_path":"vertical","lightbox_post_images":"1","lightbox_skin":"metro-white","lightbox_slideshow_speed":"5000","lightbox_social":"1","lightbox_title":"1","lightbox_video_height":"720","lightbox_video_width":"1280","logo_alignment":"Left","logo_margin_bottom":"31px","logo_margin_top":"31px","megamenu_max_width":"1100","mobile_menu_design":"modern","nav_height":"83","nav_highlight_border":"3","page_title_fading":"0","pagination_video_slide":"0","related_posts_speed":"2500","submenu_slideout":"1","side_header_break_point":"800","sidenav_behavior":"Hover","site_width":"1100px","slider_position":"below","slideshow_autoplay":"1","slideshow_speed":"7000","smooth_scrolling":"0","status_lightbox":"1","status_totop_mobile":"0","status_vimeo":"1","status_yt":"1","testimonials_speed":"4000","tfes_animation":"sides","tfes_autoplay":"1","tfes_interval":"3000","tfes_speed":"800","tfes_width":"150","title_style_type":"double","title_margin_top":"0px","title_margin_bottom":"31px","typography_responsive":"0","typography_sensitivity":"0.6","typography_factor":"1.5","woocommerce_shop_page_columns":"","woocommerce_checkout_error":"Not all fields have been filled in correctly.","side_header_width":"0"}; /* ]]> */ </script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/main.min.js" async=""></script> <script type="text/javascript" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/wp-embed.min.js"></script> <!--[if lte IE 8]> <script type="text/javascript" src="https://www.datatorrent.com/wp-content/themes/Avada/assets/js/respond.js"></script> <![endif]--> <!-- Share This Links --> <script type="text/javascript" id="st_insights_js" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/buttons.js"></script> <script type="text/javascript">stLight.options({publisher: "d8a07399-08cb-43f6-944a-e48d00603c51", doNotHash: false, doNotCopy: true, hashAddressBar: false});</script> <!-- KickFire tracking code --> <script type="text/javascript"> var DID=253644; </script> <script async="" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/live.js"></script> <!-- LinkedIn Conversion tracking code --> <script type="text/javascript"> _linkedin_data_partner_id = "97548"; </script> <script type="text/javascript"> (function(){var s = document.getElementsByTagName("script")[0]; var b = document.createElement("script"); b.type = "text/javascript";b.async = true; b.src = "https://snap.licdn.com/li.lms-analytics/insight.min.js"; s.parentNode.insertBefore(b, s);})(); </script> <noscript> <img height="1" width="1" style="display:none;" alt="" src="https://dc.ads.linkedin.com/collect/?pid=97548&fmt=gif" /> </noscript> <div class="full reveal modal without-overlay" id="nav__search" data-reveal="csjt07-reveal" data-animation-in="fade-in" data-animation-out="fade-out" aria-labelledby="fbo2hn-reveal" role="dialog" aria-hidden="true" data-yeti-box="nav__search" data-resize="nav__search"> <!-- click on page to close --> <div style="width: 100%; height: 100%; top: 0; left: 0; position: absolute; z-index: 0;" data-close=""></div> <!-- SEARCH --> <form action="https://www.datatorrent.com/" method="get" style="position: relative; z-index: 9;"> <div class="nav__search-bar clearfix"> <input class="nav__search-input" name="s" id="s" placeholder="type to search..."> <button type="submit" class="nav__search-btn"><i class="fa fa-search" aria-hidden="true"></i></button> </div> </form> <!-- CLOSE MODAL --> <button class="close-button" data-close="" aria-label="Close modal" type="button"> <span aria-hidden="true">×</span> </button> </div><div class="to-top-container"><a href="https://www.datatorrent.com/blog/introducing-apache-apex-incubating/#" id="toTop" style="display: none;"><span id="toTopHover"></span><span class="screen-reader-text">Go to Top</span></a></div><div id="mktoStyleLoaded" style="display: none; border-top-color: rgb(18, 52, 86);"></div><script src="https://px.ads.linkedin.com/collect/?time=1525321403948&pid=97548&url=https%3A%2F%2Fwww.datatorrent.com%2Fblog%2Fintroducing-apache-apex-incubating%2F&pageUrl=https%3A%2F%2Fwww.datatorrent.com%2Fblog%2Fintroducing-apache-apex-incubating%2F&ref=http%3A%2F%2Fapex.apache.org%2Fdocs.html&fmt=js&s=1" type="text/javascript"></script><div id="stcpDiv" style="position: absolute; top: -1999px; left: -1988px;">ShareThis Copy and Paste</div><form novalidate="novalidate" class="mktoForm mktoHasWidth mktoLayoutLeft" style="font-family: Helvetica, Arial, sans-serif; font-size: 13px; color: rgb(51, 51, 51); visibility: hidden; position: absolute; top: -500px; left: -1000px; width: 1200px;"></form><iframe name="mktoFormsXDIframe0.7656082181407522" id="MktoForms2XDIframe" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/XDFrame.html" style="display: none;"></iframe><div id="stwrapper" class="stwrapper stwrapper4x" style="display: none;"><iframe allowtransparency="true" id="stLframe" class="stLframe" name="stLframe" frameborder="0" scrolling="no" src="./Apache Apex (Incubating) Introduction ' DataTorrent Blog_files/index.html"></iframe></div><div id="stOverlay" onclick="javascript:stWidget.closeWidget();"></div></body></html>