blob: ff5e28739c8a707920d1f74169075b041d8993eb [file] [log] [blame]
<!doctype html>
<html lang="en" dir="ltr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="generator" content="Docusaurus v2.0.0-beta.4">
<link rel="alternate" type="application/rss+xml" href="/blog/rss.xml" title="Apache Pinot™ Blog RSS Feed">
<link rel="alternate" type="application/atom+xml" href="/blog/atom.xml" title="Apache Pinot™ Blog Atom Feed">
<link rel="preconnect" href="https://www.google-analytics.com">
<script>window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)},ga.l=+new Date,ga("create","UA-157446650-1","auto"),ga("send","pageview")</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
<link rel="search" type="application/opensearchdescription+xml" title="Apache Pinot™" href="/opensearch.xml">
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Ubuntu|Roboto|Source+Code+Pro">
<link rel="stylesheet" href="https://at-ui.github.io/feather-font/css/iconfont.css"><title data-react-helmet="true">Blog - Apache Pinot: User-Facing Analytics | Apache Pinot™</title><meta data-react-helmet="true" property="og:title" content="Blog - Apache Pinot: User-Facing Analytics | Apache Pinot™"><meta data-react-helmet="true" property="og:description" content="Blog"><meta data-react-helmet="true" property="og:url" content="https://pinot.apache.org/blog"><meta data-react-helmet="true" name="docsearch:language" content="en"><meta data-react-helmet="true" name="docsearch:docusaurus_tag" content="blog_posts_list"><meta data-react-helmet="true" name="description" content="Apache Pinot"><meta data-react-helmet="true" name="description" content="Real-time Analytics"><meta data-react-helmet="true" name="description" content="User-facing Analytics"><meta data-react-helmet="true" name="description" content="user facing analytics"><meta data-react-helmet="true" name="description" content="Olap"><meta data-react-helmet="true" name="description" content="Consumer-facing facing analytics"><meta data-react-helmet="true" name="description" content="Fast Analytics"><meta data-react-helmet="true" name="description" content="Who uses Apache Pinot?"><meta data-react-helmet="true" name="keywords" content="Pinot,Uber Data,User-Facing Analytics,Real-time data platform"><link data-react-helmet="true" rel="shortcut icon" href="/img/favicon.ico"><link data-react-helmet="true" rel="canonical" href="https://pinot.apache.org/blog"><link data-react-helmet="true" rel="alternate" href="https://pinot.apache.org/blog" hreflang="en"><link data-react-helmet="true" rel="alternate" href="https://pinot.apache.org/blog" hreflang="x-default"><link data-react-helmet="true" rel="preconnect" href="https://BH4D9OD16A-dsn.algolia.net" crossorigin="anonymous"><link rel="stylesheet" href="/assets/css/styles.f8c6b66d.css">
<link rel="preload" href="/assets/js/runtime~main.59053854.js" as="script">
<link rel="preload" href="/assets/js/main.5e591844.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();null!==e?t(e):window.matchMedia("(prefers-color-scheme: dark)").matches?t("dark"):window.matchMedia("(prefers-color-scheme: light)").matches?t("light"):t("dark")}(),document.documentElement.setAttribute("data-announcement-bar-initially-dismissed",function(){try{return"true"===localStorage.getItem("docusaurus.announcement.dismiss")}catch(t){}return!1}())</script><div id="__docusaurus">
<div><a href="#" class="skipToContent_1oUP">Skip to main content</a></div><div class="announcementBar_3WsW" style="background-color:#252532;color:#fff" role="banner"><div class="announcementBarContent_3EUC announcementBarCloseable_3myR">⭐️ If you love <b>Apache Pinot</b>, please give it a star on <a target="_blank" href="https://github.com/apache/pinot"><b>GitHub</b></a>! ⭐️</div><button type="button" class="announcementBarClose_38nx clean-btn" aria-label="Close"><span aria-hidden="true">×</span></button></div><nav class="navbar navbar--fixed-top navbarHideable_2qcr"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Navigation bar toggle" class="navbar__toggle clean-btn" type="button" tabindex="0"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/"><img src="/img/pinot-navbar-logo-722f37.svg" alt="Pinot" class="themedImage_1VuW themedImage--light_3UqQ navbar__logo"><img src="/img/pinot-navbar-logo-722f37.svg" alt="Pinot" class="themedImage_1VuW themedImage--dark_hz6m navbar__logo"></a></div><div class="navbar__items navbar__items--right"><a href="https://docs.pinot.apache.org/" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">Docs</a><a class="navbar__item navbar__link" href="/download">Download</a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/blog">Blog</a><a href="https://github.com/apache/pinot" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link"><span>GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_3J9K"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></span></a><div class="react-toggle toggle_3Zt9 react-toggle--checked react-toggle--disabled"><div class="react-toggle-track" role="button" tabindex="-1"><div class="react-toggle-track-check"><span class="toggle_71bT" style="margin-left:2px">🌙</span></div><div class="react-toggle-track-x"><span class="toggle_71bT" style="margin-left:2px">☀️</span></div><div class="react-toggle-thumb"></div></div><input type="checkbox" checked="" class="react-toggle-screenreader-only" aria-label="Switch between dark and light mode"></div><div class="searchBox_1Doo"><button type="button" class="DocSearch DocSearch-Button" aria-label="Search"><span class="DocSearch-Button-Container"><svg width="20" height="20" class="DocSearch-Search-Icon" viewBox="0 0 20 20"><path d="M14.386 14.386l4.0877 4.0877-4.0877-4.0877c-2.9418 2.9419-7.7115 2.9419-10.6533 0-2.9419-2.9418-2.9419-7.7115 0-10.6533 2.9418-2.9419 7.7115-2.9419 10.6533 0 2.9419 2.9418 2.9419 7.7115 0 10.6533z" stroke="currentColor" fill="none" fill-rule="evenodd" stroke-linecap="round" stroke-linejoin="round"></path></svg><span class="DocSearch-Button-Placeholder">Search</span></span><span class="DocSearch-Button-Keys"></span></button></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div class="main-wrapper blog-wrapper blog-list-page"><div class="container margin-vert--lg"><div class="row"><aside class="col col--3"><nav class="sidebar_2ahu thin-scrollbar" aria-label="Blog recent posts navigation"><div class="sidebarItemTitle_2hhb margin-bottom--md">All our posts</div><ul class="sidebarItemList_2xAf"><li class="sidebarItem_2UVv"><a class="sidebarItemLink_1RT6" href="/blog/2021/06/16/LinkedIn-TextAnalytics">Text analytics on LinkedIn Talent Insights using Apache Pinot</a></li><li class="sidebarItem_2UVv"><a class="sidebarItemLink_1RT6" href="/blog/2021/06/13/DevBlog-Geospatial">Introduction to Geospatial Queries in Apache Pinot</a></li><li class="sidebarItem_2UVv"><a class="sidebarItemLink_1RT6" href="/blog/2021/04/29/Uber-Charon">Automating Merchant Live Monitoring with Real-Time Analytics - Charon</a></li><li class="sidebarItem_2UVv"><a class="sidebarItemLink_1RT6" href="/blog/2021/04/27/DevBlog-PinotInRetailChain">Deploying Apache Pinot at a Large Retail Chain</a></li><li class="sidebarItem_2UVv"><a class="sidebarItemLink_1RT6" href="/blog/2021/04/16/LinkedIn-Theta">Solving for the cardinality of set intersection at scale with Pinot and Theta Sketches</a></li><li class="sidebarItem_2UVv"><a class="sidebarItemLink_1RT6" href="/blog/2021/04/08/DevBlog-UpsertsIntro">Introduction to Upserts in Apache Pinot</a></li><li class="sidebarItem_2UVv"><a class="sidebarItemLink_1RT6" href="/blog/2021/02/02/DevBlog-PrestoPinot">Real-time Analytics with Presto and Apache Pinot</a></li><li class="sidebarItem_2UVv"><a class="sidebarItemLink_1RT6" href="/blog/2021/01/08/DevBlog-DebeziumCDC">Change Data Analysis with Debezium and Apache Pinot</a></li><li class="sidebarItem_2UVv"><a class="sidebarItemLink_1RT6" href="/blog/2020/12/01/LinkedIn-Lamda">From Lambda to Lambda-less Lessons learned</a></li><li class="sidebarItem_2UVv"><a class="sidebarItemLink_1RT6" href="/blog/2020/10/20/Uber-Operating">Operating Apache Pinot at Uber Scale</a></li></ul></nav></aside><main class="col col--7"><article class="margin-bottom--xl"><header><h2 class="blogPostTitle_GeHD"><a href="/blog/2021/06/16/LinkedIn-TextAnalytics">Text analytics on LinkedIn Talent Insights using Apache Pinot</a></h2><div class="blogPostData_291c margin-vert--md"><time datetime="2021-06-16T00:00:00.000Z">June 16, 2021</time> · One min read</div><div class="avatar margin-vert--md"><a href="https://engineering.linkedin.com/blog/topic/pinot" target="_blank" rel="noopener noreferrer" class="avatar__photo-link avatar__photo"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Linkedin_icon.svg/512px-Linkedin_icon.svg.png" alt="LinkedIn"></a><div class="avatar__intro"><div class="avatar__name"><a href="https://engineering.linkedin.com/blog/topic/pinot" target="_blank" rel="noopener noreferrer">LinkedIn</a></div><small class="avatar__subtitle">LinkedIn Engineering Team</small></div></div></header><div class="markdown"><p>LinkedIn Talent Insights (LTI) is a platform that helps organizations understand the external labor market and their internal workforce, and enables the long term success of their employees. Users of LTI have the flexibility to construct searches using the various facets of the LinkedIn Economic Graph (skills, titles, location, company, etc.).</p><p><a href="https://engineering.linkedin.com/blog/2021/text-analytics-on-linkedin-talent-insights-using-apache-pinot" target="_blank" rel="noopener noreferrer">Read More at https://engineering.linkedin.com/blog/2021/text-analytics-on-linkedin-talent-insights-using-apache-pinot</a></p><p><img src="https://content.linkedin.com/content/dam/engineering/site-assets/images/blog/posts/2021/06/ltipinot6.png" alt="Text analytics on LinkedIn Talent Insights using Apache Pinot"></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><a class="margin-horiz--sm" href="/blog/tags/pinot">Pinot</a><a class="margin-horiz--sm" href="/blog/tags/linked-in">LinkedIn</a><a class="margin-horiz--sm" href="/blog/tags/data">Data</a><a class="margin-horiz--sm" href="/blog/tags/text-analytics">Text analytics</a><a class="margin-horiz--sm" href="/blog/tags/real-time-data-platform">real-time data platform</a><a class="margin-horiz--sm" href="/blog/tags/realtime">Realtime</a><a class="margin-horiz--sm" href="/blog/tags/third-eye">ThirdEye</a><a class="margin-horiz--sm" href="/blog/tags/analytics">Analytics</a><a class="margin-horiz--sm" href="/blog/tags/user-facing-analytics">User-Facing Analytics</a></div></footer></article><article class="margin-bottom--xl"><header><h2 class="blogPostTitle_GeHD"><a href="/blog/2021/06/13/DevBlog-Geospatial">Introduction to Geospatial Queries in Apache Pinot</a></h2><div class="blogPostData_291c margin-vert--md"><time datetime="2021-06-13T00:00:00.000Z">June 13, 2021</time> · One min read</div><div class="avatar margin-vert--md"><a href="https://medium.com/apache-pinot-developer-blog" target="_blank" rel="noopener noreferrer" class="avatar__photo-link avatar__photo"><img src="https://pbs.twimg.com/profile_images/1400521020973400069/5y2UMi4r_400x400.jpg" alt="Kenny Bastani"></a><div class="avatar__intro"><div class="avatar__name"><a href="https://medium.com/apache-pinot-developer-blog" target="_blank" rel="noopener noreferrer">Kenny Bastani</a></div><small class="avatar__subtitle">Kenny Bastani</small></div></div></header><div class="markdown"><p>Geospatial data has been widely used across the industry, spanning multiple verticals, such as ride-sharing and delivery, transportation infrastructure, defense and intel, public health. Deriving insights from timely and accurate geospatial data could enable mission-critical use cases in the organizations and fuel a vibrant marketplace across the industry. In the design document for this new Pinot feature, we discuss the challenges of analyzing geospatial at scale and propose the geospatial support in Pinot.</p><p>Read More at <a href="https://medium.com/apache-pinot-developer-blog/introduction-to-geospatial-queries-in-apache-pinot-b63e2362e2a9" target="_blank" rel="noopener noreferrer">https://medium.com/apache-pinot-developer-blog/introduction-to-geospatial-queries-in-apache-pinot-b63e2362e2a9</a></p><p><img src="https://miro.medium.com/max/1400/0*1xrDSs9lLZ5dD3zK" alt="Introduction to Geospatial Queries in Apache Pinot"></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><a class="margin-horiz--sm" href="/blog/tags/pinot">Pinot</a><a class="margin-horiz--sm" href="/blog/tags/dev-blog">DevBlog</a><a class="margin-horiz--sm" href="/blog/tags/h-3">H3</a><a class="margin-horiz--sm" href="/blog/tags/real-time-data-platform">real-time data platform</a><a class="margin-horiz--sm" href="/blog/tags/realtime">Realtime</a><a class="margin-horiz--sm" href="/blog/tags/analytics">Analytics</a><a class="margin-horiz--sm" href="/blog/tags/user-facing-analytics">User-Facing Analytics</a></div></footer></article><article class="margin-bottom--xl"><header><h2 class="blogPostTitle_GeHD"><a href="/blog/2021/04/29/Uber-Charon">Automating Merchant Live Monitoring with Real-Time Analytics - Charon</a></h2><div class="blogPostData_291c margin-vert--md"><time datetime="2021-04-29T00:00:00.000Z">April 29, 2021</time> · One min read</div><div class="avatar margin-vert--md"><a href="https://eng.uber.com/category/articles/uberdata/" target="_blank" rel="noopener noreferrer" class="avatar__photo-link avatar__photo"><img src="https://pbs.twimg.com/profile_images/1192909783856103427/6A4s8gW2_400x400.png" alt="Uber"></a><div class="avatar__intro"><div class="avatar__name"><a href="https://eng.uber.com/category/articles/uberdata/" target="_blank" rel="noopener noreferrer">Uber</a></div><small class="avatar__subtitle">Uber Data Team</small></div></div></header><div class="markdown"><p>At Uber, live monitoring and automation of Ops is critical to preserve marketplace health, maintain reliability, and gain efficiency in markets. By the virtue of the word “live”, this monitoring needs to show what is happening now, with prompt access to fresh data, and the ability to recommend appropriate actions based on that data. Uber’s data platform provides the self-serve tools which empower the Ops teams to build their own live monitoring tools, and support their regional teams by building rich solutions.</p><p>For this project, the requirement was to provide merchant level monitoring and handle the edge cases which remain unaddressed by the sophisticated internal marketplace management tools. We used a variety of Uber’s real-time data platform components to build a tool called Charon to reduce impact of poor marketplace reliability on the merchants.</p><p>Read More at <a href="https://eng.uber.com/charon/" target="_blank" rel="noopener noreferrer">https://eng.uber.com/charon/</a></p><p><img src="https://1fykyq3mdn5r21tpna3wkdyi-wpengine.netdna-ssl.com/wp-content/uploads/2021/04/deliverDoor@3x-768x263.png" alt="Operating Apache Pinot at Uber Scale"></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><a class="margin-horiz--sm" href="/blog/tags/pinot">Pinot</a><a class="margin-horiz--sm" href="/blog/tags/uber">Uber</a><a class="margin-horiz--sm" href="/blog/tags/real-time-data-platform">real-time data platform</a><a class="margin-horiz--sm" href="/blog/tags/realtime">Realtime</a><a class="margin-horiz--sm" href="/blog/tags/analytics">Analytics</a><a class="margin-horiz--sm" href="/blog/tags/user-facing-analytics">User-Facing Analytics</a></div></footer></article><article class="margin-bottom--xl"><header><h2 class="blogPostTitle_GeHD"><a href="/blog/2021/04/27/DevBlog-PinotInRetailChain">Deploying Apache Pinot at a Large Retail Chain</a></h2><div class="blogPostData_291c margin-vert--md"><time datetime="2021-04-27T00:00:00.000Z">April 27, 2021</time> · One min read</div><div class="avatar margin-vert--md"><a href="https://medium.com/apache-pinot-developer-blog" target="_blank" rel="noopener noreferrer" class="avatar__photo-link avatar__photo"><img src="https://pbs.twimg.com/profile_images/1400521020973400069/5y2UMi4r_400x400.jpg" alt="PinotDev"></a><div class="avatar__intro"><div class="avatar__name"><a href="https://medium.com/apache-pinot-developer-blog" target="_blank" rel="noopener noreferrer">PinotDev</a></div><small class="avatar__subtitle">Pinot Editorial Team</small></div></div></header><div class="markdown"><p>Blog gives an overview of our use of Apache Pinot to solve some of biggest challenges around Data Analytics in Large Retail Chain</p><p><a href="https://medium.com/apache-pinot-developer-blog/deploying-apache-pinot-at-a-large-retail-chain-42aed2921a38" target="_blank" rel="noopener noreferrer">Read More at https://medium.com/apache-pinot-developer-blog/deploying-apache-pinot-at-a-large-retail-chain-42aed2921a38</a></p><p><img src="https://miro.medium.com/max/1400/1*EtqD0vTPEe569jybXCt69w.png" alt="Deploying Apache Pinot at a Large Retail Chain"></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><a class="margin-horiz--sm" href="/blog/tags/pinot">Pinot</a><a class="margin-horiz--sm" href="/blog/tags/dev-blog">DevBlog</a><a class="margin-horiz--sm" href="/blog/tags/third-eye">ThirdEye</a><a class="margin-horiz--sm" href="/blog/tags/real-time-data-platform">real-time data platform</a><a class="margin-horiz--sm" href="/blog/tags/realtime">Realtime</a><a class="margin-horiz--sm" href="/blog/tags/analytics">Analytics</a><a class="margin-horiz--sm" href="/blog/tags/user-facing-analytics">User-Facing Analytics</a></div></footer></article><article class="margin-bottom--xl"><header><h2 class="blogPostTitle_GeHD"><a href="/blog/2021/04/16/LinkedIn-Theta">Solving for the cardinality of set intersection at scale with Pinot and Theta Sketches</a></h2><div class="blogPostData_291c margin-vert--md"><time datetime="2021-04-16T00:00:00.000Z">April 16, 2021</time> · One min read</div><div class="avatar margin-vert--md"><a href="https://engineering.linkedin.com/blog/topic/pinot" target="_blank" rel="noopener noreferrer" class="avatar__photo-link avatar__photo"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Linkedin_icon.svg/512px-Linkedin_icon.svg.png" alt="LinkedIn"></a><div class="avatar__intro"><div class="avatar__name"><a href="https://engineering.linkedin.com/blog/topic/pinot" target="_blank" rel="noopener noreferrer">LinkedIn</a></div><small class="avatar__subtitle">LinkedIn Engineering Team</small></div></div></header><div class="markdown"><p>The Lambda architecture has become a popular architectural style that promises both speed and accuracy in data processing by using a hybrid approach of both batch processing and stream processing methods.</p><p>Read More at <a href="https://engineering.linkedin.com/blog/2021/pinot-and-theta-sketches" target="_blank" rel="noopener noreferrer">https://engineering.linkedin.com/blog/2021/pinot-and-theta-sketches</a></p><p><img src="https://content.linkedin.com/content/dam/engineering/site-assets/images/blog/posts/2021/04/thetasketches2.png" alt="From Lambda to Lambda-less Lessons learned"></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><a class="margin-horiz--sm" href="/blog/tags/pinot">Pinot</a><a class="margin-horiz--sm" href="/blog/tags/linked-in">LinkedIn</a><a class="margin-horiz--sm" href="/blog/tags/real-time-data-platform">real-time data platform</a><a class="margin-horiz--sm" href="/blog/tags/realtime">Realtime</a><a class="margin-horiz--sm" href="/blog/tags/analytics">Analytics</a><a class="margin-horiz--sm" href="/blog/tags/user-facing-analytics">User-Facing Analytics</a></div></footer></article><article class="margin-bottom--xl"><header><h2 class="blogPostTitle_GeHD"><a href="/blog/2021/04/08/DevBlog-UpsertsIntro">Introduction to Upserts in Apache Pinot</a></h2><div class="blogPostData_291c margin-vert--md"><time datetime="2021-04-08T00:00:00.000Z">April 8, 2021</time> · One min read</div><div class="avatar margin-vert--md"><a href="https://medium.com/apache-pinot-developer-blog" target="_blank" rel="noopener noreferrer" class="avatar__photo-link avatar__photo"><img src="https://pbs.twimg.com/profile_images/1400521020973400069/5y2UMi4r_400x400.jpg" alt="Kenny Bastani"></a><div class="avatar__intro"><div class="avatar__name"><a href="https://medium.com/apache-pinot-developer-blog" target="_blank" rel="noopener noreferrer">Kenny Bastani</a></div><small class="avatar__subtitle">Kenny Bastani</small></div></div></header><div class="markdown"><p>Since the 0.6.0 release of Apache Pinot, a new feature was made available for stream ingestion that allows you to upsert events from an immutable log. Typically, upsert is a term used to describe inserting a record into a database if it does not already exist or update it if it does exist. In Apache Pinot’s case, upsert isn’t precisely the same concept, and I wanted to write this blog post to explain why it’s exciting and how you can start using it.</p><p>Read More at <a href="https://medium.com/apache-pinot-developer-blog/introduction-to-upserts-in-apache-pinot-987c12149d93" target="_blank" rel="noopener noreferrer">https://medium.com/apache-pinot-developer-blog/introduction-to-upserts-in-apache-pinot-987c12149d93</a></p><p><img src="https://miro.medium.com/max/1400/0*So3GjHjLY7DJAiaP" alt="Introduction to Upserts in Apache Pinot"></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><a class="margin-horiz--sm" href="/blog/tags/pinot">Pinot</a><a class="margin-horiz--sm" href="/blog/tags/dev-blog">DevBlog</a><a class="margin-horiz--sm" href="/blog/tags/upsert">Upsert</a><a class="margin-horiz--sm" href="/blog/tags/real-time-data-platform">real-time data platform</a><a class="margin-horiz--sm" href="/blog/tags/realtime">Realtime</a><a class="margin-horiz--sm" href="/blog/tags/analytics">Analytics</a><a class="margin-horiz--sm" href="/blog/tags/user-facing-analytics">User-Facing Analytics</a></div></footer></article><article class="margin-bottom--xl"><header><h2 class="blogPostTitle_GeHD"><a href="/blog/2021/02/02/DevBlog-PrestoPinot">Real-time Analytics with Presto and Apache Pinot</a></h2><div class="blogPostData_291c margin-vert--md"><time datetime="2021-02-02T00:00:00.000Z">February 2, 2021</time> · One min read</div><div class="avatar margin-vert--md"><a href="https://medium.com/apache-pinot-developer-blog" target="_blank" rel="noopener noreferrer" class="avatar__photo-link avatar__photo"><img src="https://pbs.twimg.com/profile_images/1400521020973400069/5y2UMi4r_400x400.jpg" alt="PinotDev"></a><div class="avatar__intro"><div class="avatar__name"><a href="https://medium.com/apache-pinot-developer-blog" target="_blank" rel="noopener noreferrer">PinotDev</a></div><small class="avatar__subtitle">Pinot Editorial Team</small></div></div></header><div class="markdown"><p>In this world, most analytics products either focus on ad-hoc analytics, which requires query flexibility without guaranteed latency, or low latency analytics with limited query capability. In this blog, we will explore how to get the best of both worlds using Apache Pinot and Presto.</p><p><a href="https://medium.com/apache-pinot-developer-blog/real-time-analytics-with-presto-and-apache-pinot-part-i-cc672caea307" target="_blank" rel="noopener noreferrer">Read Part 1 at https://medium.com/apache-pinot-developer-blog/real-time-analytics-with-presto-and-apache-pinot-part-i-cc672caea307</a></p><p><a href="https://medium.com/apache-pinot-developer-blog/real-time-analytics-with-presto-and-apache-pinot-part-ii-3d09ff937713" target="_blank" rel="noopener noreferrer">Read Part 2 at https://medium.com/apache-pinot-developer-blog/real-time-analytics-with-presto-and-apache-pinot-part-ii-3d09ff937713</a></p><p><img src="https://miro.medium.com/max/1400/0*hJc6aV9aBJaKyXcx" alt="Real-time Analytics with Presto and Apache Pinot"></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><a class="margin-horiz--sm" href="/blog/tags/pinot">Pinot</a><a class="margin-horiz--sm" href="/blog/tags/presto">Presto</a><a class="margin-horiz--sm" href="/blog/tags/trino">Trino</a><a class="margin-horiz--sm" href="/blog/tags/presto-sql">PrestoSQL</a><a class="margin-horiz--sm" href="/blog/tags/dev-blog">DevBlog</a><a class="margin-horiz--sm" href="/blog/tags/third-eye">ThirdEye</a><a class="margin-horiz--sm" href="/blog/tags/real-time-data-platform">real-time data platform</a><a class="margin-horiz--sm" href="/blog/tags/realtime">Realtime</a><a class="margin-horiz--sm" href="/blog/tags/analytics">Analytics</a><a class="margin-horiz--sm" href="/blog/tags/user-facing-analytics">User-Facing Analytics</a></div></footer></article><article class="margin-bottom--xl"><header><h2 class="blogPostTitle_GeHD"><a href="/blog/2021/01/08/DevBlog-DebeziumCDC">Change Data Analysis with Debezium and Apache Pinot</a></h2><div class="blogPostData_291c margin-vert--md"><time datetime="2021-01-08T00:00:00.000Z">January 8, 2021</time> · One min read</div><div class="avatar margin-vert--md"><a href="https://medium.com/apache-pinot-developer-blog" target="_blank" rel="noopener noreferrer" class="avatar__photo-link avatar__photo"><img src="https://pbs.twimg.com/profile_images/1400521020973400069/5y2UMi4r_400x400.jpg" alt="Kenny Bastani"></a><div class="avatar__intro"><div class="avatar__name"><a href="https://medium.com/apache-pinot-developer-blog" target="_blank" rel="noopener noreferrer">Kenny Bastani</a></div><small class="avatar__subtitle">Kenny Bastani</small></div></div></header><div class="markdown"><p>In this blog post, we’re going to explore an exciting new world of real-time analytics based on combining the popular CDC tool, Debezium, with the real-time OLAP datastore, Apache Pinot.</p><p><a href="https://medium.com/apache-pinot-developer-blog/change-data-analysis-with-debezium-and-apache-pinot-b4093dc178a7" target="_blank" rel="noopener noreferrer">Read More at https://medium.com/apache-pinot-developer-blog/change-data-analysis-with-debezium-and-apache-pinot-b4093dc178a7</a></p><p><img src="https://miro.medium.com/max/1400/1*dnSikeGxTrfrF95niX16PA.png" alt="Change Data Analysis with Debezium and Apache Pinot"></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><a class="margin-horiz--sm" href="/blog/tags/pinot">Pinot</a><a class="margin-horiz--sm" href="/blog/tags/dev-blog">DevBlog</a><a class="margin-horiz--sm" href="/blog/tags/debezium">Debezium</a><a class="margin-horiz--sm" href="/blog/tags/cdc">CDC</a><a class="margin-horiz--sm" href="/blog/tags/change-data-analysis">Change Data Analysis</a><a class="margin-horiz--sm" href="/blog/tags/real-time-data-platform">real-time data platform</a><a class="margin-horiz--sm" href="/blog/tags/realtime">Realtime</a><a class="margin-horiz--sm" href="/blog/tags/analytics">Analytics</a><a class="margin-horiz--sm" href="/blog/tags/user-facing-analytics">User-Facing Analytics</a></div></footer></article><article class="margin-bottom--xl"><header><h2 class="blogPostTitle_GeHD"><a href="/blog/2020/12/01/LinkedIn-Lamda">From Lambda to Lambda-less Lessons learned</a></h2><div class="blogPostData_291c margin-vert--md"><time datetime="2020-12-01T00:00:00.000Z">December 1, 2020</time> · One min read</div><div class="avatar margin-vert--md"><a href="https://engineering.linkedin.com/blog/topic/pinot" target="_blank" rel="noopener noreferrer" class="avatar__photo-link avatar__photo"><img src="https://upload.wikimedia.org/wikipedia/commons/thumb/e/e9/Linkedin_icon.svg/512px-Linkedin_icon.svg.png" alt="LinkedIn"></a><div class="avatar__intro"><div class="avatar__name"><a href="https://engineering.linkedin.com/blog/topic/pinot" target="_blank" rel="noopener noreferrer">LinkedIn</a></div><small class="avatar__subtitle">LinkedIn Engineering Team</small></div></div></header><div class="markdown"><p>The Lambda architecture has become a popular architectural style that promises both speed and accuracy in data processing by using a hybrid approach of both batch processing and stream processing methods.</p><p>Read More at <a href="https://engineering.linkedin.com/blog/2020/lambda-to-lambda-less-architecture" target="_blank" rel="noopener noreferrer">https://engineering.linkedin.com/blog/2020/lambda-to-lambda-less-architecture</a></p><p><img src="https://content.linkedin.com/content/dam/engineering/site-assets/images/blog/posts/2019/03/pinotincubator2.png" alt="From Lambda to Lambda-less Lessons learned"></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><a class="margin-horiz--sm" href="/blog/tags/pinot">Pinot</a><a class="margin-horiz--sm" href="/blog/tags/linked-in">LinkedIn</a><a class="margin-horiz--sm" href="/blog/tags/real-time-data-platform">real-time data platform</a><a class="margin-horiz--sm" href="/blog/tags/realtime">Realtime</a><a class="margin-horiz--sm" href="/blog/tags/analytics">Analytics</a><a class="margin-horiz--sm" href="/blog/tags/user-facing-analytics">User-Facing Analytics</a></div></footer></article><article class="margin-bottom--xl"><header><h2 class="blogPostTitle_GeHD"><a href="/blog/2020/10/20/Uber-Operating">Operating Apache Pinot at Uber Scale</a></h2><div class="blogPostData_291c margin-vert--md"><time datetime="2020-10-20T00:00:00.000Z">October 20, 2020</time> · One min read</div><div class="avatar margin-vert--md"><a href="https://eng.uber.com/category/articles/uberdata/" target="_blank" rel="noopener noreferrer" class="avatar__photo-link avatar__photo"><img src="https://pbs.twimg.com/profile_images/1192909783856103427/6A4s8gW2_400x400.png" alt="Uber"></a><div class="avatar__intro"><div class="avatar__name"><a href="https://eng.uber.com/category/articles/uberdata/" target="_blank" rel="noopener noreferrer">Uber</a></div><small class="avatar__subtitle">Uber Data Team</small></div></div></header><div class="markdown"><p>Uber has a complex marketplace consisting of riders, drivers, eaters, restaurants and so on. Operating that marketplace at a global scale requires real-time intelligence and decision making. For instance, identifying delayed Uber Eats orders or abandoned carts helps to enable our community operations team to take corrective action. Having a real-time dashboard of different events such as consumer demand, driver availability, or trips happening in a city is crucial for day-to-day operation, incident triaging, and financial intelligence.</p><p>Read More at <a href="https://eng.uber.com/operating-apache-pinot/" target="_blank" rel="noopener noreferrer">https://eng.uber.com/operating-apache-pinot/</a></p><p><img src="https://1fykyq3mdn5r21tpna3wkdyi-wpengine.netdna-ssl.com/wp-content/uploads/2020/10/1224-5.png" alt="Operating Apache Pinot at Uber Scale"></p></div><footer class="row docusaurus-mt-lg"><div class="col"><b>Tags:</b><a class="margin-horiz--sm" href="/blog/tags/pinot">Pinot</a><a class="margin-horiz--sm" href="/blog/tags/uber">Uber</a><a class="margin-horiz--sm" href="/blog/tags/real-time-data-platform">real-time data platform</a><a class="margin-horiz--sm" href="/blog/tags/realtime">Realtime</a><a class="margin-horiz--sm" href="/blog/tags/analytics">Analytics</a><a class="margin-horiz--sm" href="/blog/tags/user-facing-analytics">User-Facing Analytics</a><a class="margin-horiz--sm" href="/blog/tags/financial-intelligence">financial intelligence</a></div></footer></article><nav class="pagination-nav" aria-label="Blog list page navigation"><div class="pagination-nav__item"></div><div class="pagination-nav__item pagination-nav__item--next"><a class="pagination-nav__link" href="/blog/page/2"><div class="pagination-nav__label">Older Entries »</div></a></div></nav></main></div></div></div><footer class="footer"><div class="container"><div class="row footer__links"><div class="col footer__col"><h4 class="footer__title">About</h4><ul class="footer__items"><li class="footer__item"><a href="https://docs.pinot.apache.org/" target="_blank" rel="noopener noreferrer" class="footer__link-item">What is Pinot?</a></li><li class="footer__item"><a href="https://docs.pinot.apache.org/pinot-components" target="_blank" rel="noopener noreferrer" class="footer__link-item">Components</a></li><li class="footer__item"><a href="https://docs.pinot.apache.org/basics/architecture" target="_blank" rel="noopener noreferrer" class="footer__link-item">Architecture</a></li><li class="footer__item"><a href="https://docs.pinot.apache.org/plugins/plugin-architecture" target="_blank" rel="noopener noreferrer" class="footer__link-item">Plugins Architecture</a></li></ul></div><div class="col footer__col"><h4 class="footer__title">Integrations</h4><ul class="footer__items"><li class="footer__item"><a href="https://docs.pinot.apache.org/integrations/presto" target="_blank" rel="noopener noreferrer" class="footer__link-item">Presto</a></li><li class="footer__item"><a href="https://docs.pinot.apache.org/integrations/superset" target="_blank" rel="noopener noreferrer" class="footer__link-item">Superset</a></li><li class="footer__item"><a href="https://docs.pinot.apache.org/integrations/thirdeye" target="_blank" rel="noopener noreferrer" class="footer__link-item">ThirdEye</a></li></ul></div><div class="col footer__col"><h4 class="footer__title">Docs</h4><ul class="footer__items"><li class="footer__item"><a href="https://docs.pinot.apache.org/getting-started" target="_blank" rel="noopener noreferrer" class="footer__link-item">Getting Started</a></li><li class="footer__item"><a href="https://docs.pinot.apache.org/pinot-components" target="_blank" rel="noopener noreferrer" class="footer__link-item">Pinot Components</a></li><li class="footer__item"><a href="https://docs.pinot.apache.org/users" target="_blank" rel="noopener noreferrer" class="footer__link-item">User Guide</a></li><li class="footer__item"><a href="https://docs.pinot.apache.org/operating-pinot" target="_blank" rel="noopener noreferrer" class="footer__link-item">Administration</a></li></ul></div><div class="col footer__col"><h4 class="footer__title">Community</h4><ul class="footer__items"><li class="footer__item"><a href="https://join.slack.com/t/apache-pinot/shared_invite/zt-5z7pav2f-yYtjZdVA~EDmrGkho87Vzw" target="_blank" rel="noopener noreferrer" class="footer__link-item">Slack</a></li><li class="footer__item"><a href="https://github.com/apache/pinot" target="_blank" rel="noopener noreferrer" class="footer__link-item">Github</a></li><li class="footer__item"><a href="https://twitter.com/ApachePinot" target="_blank" rel="noopener noreferrer" class="footer__link-item">Twitter</a></li><li class="footer__item"><a href="mailto:dev-subscribe@pinot.apache.org?Subject=SubscribeToPinot" target="_blank" rel="noopener noreferrer" class="footer__link-item">Mailing List</a></li></ul></div><div class="col footer__col"><h4 class="footer__title">Apache</h4><ul class="footer__items"><li class="footer__item"><a href="https://www.apache.org/events/current-event" target="_blank" rel="noopener noreferrer" class="footer__link-item">Events</a></li><li class="footer__item"><a href="https://www.apache.org/foundation/thanks.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Thanks</a></li><li class="footer__item"><a href="https://www.apache.org/licenses" target="_blank" rel="noopener noreferrer" class="footer__link-item">License</a></li><li class="footer__item"><a href="https://www.apache.org/security" target="_blank" rel="noopener noreferrer" class="footer__link-item">Security</a></li><li class="footer__item"><a href="https://www.apache.org/foundation/sponsorship.html" target="_blank" rel="noopener noreferrer" class="footer__link-item">Sponsorship</a></li><li class="footer__item"><a href="https://www.apache.org" target="_blank" rel="noopener noreferrer" class="footer__link-item">Foundation</a></li></ul></div></div><div class="footer__bottom text--center"><div class="margin-bottom--sm"><a href="https://pinot.apache.org/" target="_blank" rel="noopener noreferrer" class="footerLogoLink_qW4Z"><img src="/img/logo.svg" alt="Apache Pinot™" class="themedImage_1VuW themedImage--light_3UqQ footer__logo"><img src="/img/logo.svg" alt="Apache Pinot™" class="themedImage_1VuW themedImage--dark_hz6m footer__logo"></a></div><div class="footerCopyright_2yvt">Copyright © 2021 The Apache Software Foundation.<br>Apache Pinot, Pinot, Apache, the Apache feather logo, and the Apache Pinot project logo are registered trademarks of The Apache Software Foundation.<br><br>This page has references to third party software - Presto, PrestoDB, ThirdEye, that are not part of the Apache Software Foundation and are not covered under the Apache License.</div></div></div></footer></div>
<script src="/assets/js/runtime~main.59053854.js"></script>
<script src="/assets/js/main.5e591844.js"></script>
</body>
</html>