blob: 36e65b63690b7f22b0be772e42974d05db1cddb2 [file] [log] [blame]
(window.webpackJsonp=window.webpackJsonp||[]).push([[28],{120:function(e,a,t){"use strict";var n=t(0),l=t.n(n),i=t(117),r=t(115),c=t.n(r);t(48);a.a=function(e){var a=e.children,t=e.className,n=e.badge,r=e.icon,s=e.size,o=e.target,m=e.to,u=c()("jump-to","jump-to--"+s,t),g=l.a.createElement("div",{className:"jump-to--inner"},l.a.createElement("div",{className:"jump-to--inner-2"},l.a.createElement("div",{className:"jump-to--main"},n?l.a.createElement("span",{className:"badge badge--primary badge--right"},n):"",a),l.a.createElement("div",{className:"jump-to--right"},l.a.createElement("i",{className:"feather icon-"+(r||"chevron-right")+" arrow"}))));return o?l.a.createElement("a",{href:m,target:o,className:u},g):l.a.createElement(i.a,{to:m,className:u},g)}},91:function(e,a,t){"use strict";t.r(a);var n=t(2),l=t(0),i=t.n(l),r=t(139),c=t(135),s=t(120),o=t(127),m=t(117),u=t(185),g=t.n(u),p=t(125),d=t(124),h=t(115),E=t.n(h),b=t(114),v=t(92),f=t.n(v),N=(t(93),Object(c.a)("h2")),w=[{title:"Blazing Fast",icon:"zap",description:i.a.createElement(i.a.Fragment,null,"Pinot is designed to answer OLAP queries with low latency on immutable data")},{title:"Pluggable indexing",icon:"unlock",description:i.a.createElement(i.a.Fragment,null,"Pluggable indexing technologies - Sorted Index, Bitmap Index, Inverted Index")},{title:"Near Real time ingestion",icon:"rss",description:i.a.createElement(i.a.Fragment,null,"Near Realtime ingestion with"," ",i.a.createElement(m.a,{to:"https://kafka.apache.org/"},"Apache Kafka")," ","supports StringSerializer or"," ",i.a.createElement(m.a,{to:"https://avro.apache.org/"},"Avro")," formats")},{title:"Horizontally scalable",icon:"code",description:i.a.createElement(i.a.Fragment,null,"Horizontally scalable and fault tolerant")},{title:"Joins using PrestoDB",icon:"shuffle",description:i.a.createElement(i.a.Fragment,null,"Joins are currently not supported, but this problem can be overcome by using"," ",i.a.createElement(m.a,{to:"https://prestodb.io/"},"PrestoDB")," for querying")},{title:"SQL-like Query Interface (PQL)",icon:"search",description:i.a.createElement(i.a.Fragment,null,"SQL like language that supports selection, aggregation, filtering, group by, order by, distinct queries on data")},{title:"Hybrid tables",icon:"list",description:i.a.createElement(i.a.Fragment,null,"Consist of of"," ",i.a.createElement(m.a,{to:"http://pinot.apache.org/img/dynamic-table.png"},"both offline and realtime table"),". Use realtime table only to cover segments for which offline data may not be available yet")},{title:"Anomaly Detection",icon:"bar-chart",description:i.a.createElement(i.a.Fragment,null,"Run ML Algorithms to detect Anomalies on the data stored in Pinot. Use"," ",i.a.createElement(m.a,{to:"https://docs.pinot.apache.org/integrations/thirdeye"},"ThirdEye")," ","with Pinot for Anomaly Detection and Root Cause Analysis")},{title:"Smart Alerts in ThirdEye",icon:"bell",description:i.a.createElement(i.a.Fragment,null,"Detect the right anomalies by customizing anomaly detect flow and notification flow")}];function y(e){var a,t,l=e.features,r=[];for(a=0,t=l.length;a<t;a+=3){var c=l.slice(a,a+3);r.push(i.a.createElement("div",{key:"features"+a,className:"row"},c.map((function(e,a){return i.a.createElement(k,Object(n.a)({key:a},e))}))))}return i.a.createElement("section",{className:f.a.features},i.a.createElement("div",{className:"container"},i.a.createElement(N,{id:"features"},"Features"),r))}function k(e){var a=e.icon,t=e.title,n=e.description;return i.a.createElement("div",{className:E()("col col--4",f.a.feature)},i.a.createElement("div",{className:f.a.featureIcon},i.a.createElement("i",{className:E()("feather","icon-"+a)})),i.a.createElement("h3",null,t),i.a.createElement("p",null,n))}function P(){return i.a.createElement("section",{className:"topologies"},i.a.createElement("div",{className:"container"},i.a.createElement(N,{id:"who-uses"},"Who Uses?"),i.a.createElement("div",{className:"sub-title"},"Pinot powers several big players, including LinkedIn, Uber, Microsoft, Factual, Weibo, Slack and more"),i.a.createElement("div",{className:f.a.installationPlatforms},i.a.createElement(m.a,{to:"https://www.linkedin.com"},i.a.createElement(g.a,{src:"/img/companies/linkedin.svg"})),i.a.createElement(m.a,{to:"https://www.ubereats.com"},i.a.createElement(g.a,{src:"/img/companies/uber.svg"})),i.a.createElement(m.a,{to:"https://teams.microsoft.com"},i.a.createElement(g.a,{src:"/img/companies/microsoft-teams.svg"})),i.a.createElement(m.a,{to:"https://slack.com"},i.a.createElement(g.a,{src:"/img/companies/slack.svg"})),i.a.createElement(m.a,{to:"https://www.factual.com"},i.a.createElement(g.a,{src:"/img/companies/factual.svg"})),i.a.createElement(m.a,{to:"https://www.weibo.com"},i.a.createElement(g.a,{src:"/img/companies/weibo.svg"})))))}function S(){return i.a.createElement("section",{className:"topologies"},i.a.createElement("div",{className:"container"},i.a.createElement(N,{id:"ingest-query"},"Ingest and Query Options"),i.a.createElement("div",{className:"sub-title"},"Ingest with Kafka, Spark, HDFS or Cloud Storages"),i.a.createElement("div",{className:"sub-title"},"Query using PQL(Pinot Query Language ), SQL or Presto(supports Joins)"),i.a.createElement(g.a,{src:"/img/ingest-query.svg",className:"svg image-overview figure"})))}function F(){return i.a.createElement("section",{className:f.a.installation},i.a.createElement("div",{className:"container"},i.a.createElement(N,{id:"installation"},"Installs Everywhere"),i.a.createElement("div",{className:"sub-title"},"Pinot can be installed using docker with presto"),i.a.createElement("div",{className:f.a.installationChecks},i.a.createElement("div",null,i.a.createElement("i",{className:"feather icon-package"})," Helm or K8s crds"),i.a.createElement("div",null,i.a.createElement("i",{className:"feather icon-cpu"})," On-Premise"),i.a.createElement("div",null,i.a.createElement("i",{className:"feather icon-zap"})," Public Cloud"),i.a.createElement("div",null,i.a.createElement("i",{className:"feather icon-feather"})," Locally")),i.a.createElement("h3",{className:f.a.installSubTitle},"Install:"),i.a.createElement(d.a,{className:"mini",defaultValue:"helm",values:[{label:i.a.createElement(i.a.Fragment,null,i.a.createElement("i",{className:"feather icon-download-cloud"})," ","Using Helm"),value:"helm"},{label:i.a.createElement(i.a.Fragment,null,i.a.createElement("i",{className:"feather icon-download"})," ","Using Binary"),value:"binary"},{label:i.a.createElement(i.a.Fragment,null,i.a.createElement("i",{className:"feather icon-github"})," ","Build From Source"),value:"github"}]},i.a.createElement(p.a,{value:"helm"},i.a.createElement(r.a,{className:"language-bash"},"helm repo add pinot https://raw.githubusercontent.com/apache/incubator-pinot/master/kubernetes/helm\nkubectl create ns pinot\nhelm install pinot pinot/pinot -n pinot --set cluster.name=pinot")),i.a.createElement(p.a,{value:"binary"},i.a.createElement(r.a,{className:"language-bash"},"VERSION=0.7.1\nwget https://downloads.apache.org/incubator/pinot/apache-pinot-incubating-$VERSION/apache-pinot-incubating-$VERSION-bin.tar.gz\ntar vxf apache-pinot-incubating-*-bin.tar.gz\ncd apache-pinot-incubating-*-bin\nbin/quick-start-batch.sh")),i.a.createElement(p.a,{value:"github"},i.a.createElement(r.a,{className:"language-bash"},"# Clone a repo\ngit clone https://github.com/apache/incubator-pinot.git\ncd incubator-pinot\n\n# Build Pinot\nmvn clean install -DskipTests -Pbin-dist\n\n# Run the Quick Demo\ncd pinot-distribution/target/apache-pinot-incubating-*-SNAPSHOT-bin/apache-pinot-incubating-*-SNAPSHOT-bin\nbin/quick-start-batch.sh"))),i.a.createElement("h3",{className:f.a.installSubTitle},"Or choose your preferred method:"),i.a.createElement("div",{className:"row"},i.a.createElement("div",{className:"col"},i.a.createElement(s.a,{to:"https://docs.pinot.apache.org/getting-started/running-pinot-in-docker"},"Containers")),i.a.createElement("div",{className:"col"},i.a.createElement(s.a,{to:"https://docs.pinot.apache.org/getting-started/kubernetes-quickstart"},"Helm")),i.a.createElement("div",{className:"col"},i.a.createElement(s.a,{to:"https://docs.pinot.apache.org/basics/getting-started/public-cloud-examples"},"Cloud")),i.a.createElement("div",{className:"col"},i.a.createElement(s.a,{to:"https://docs.pinot.apache.org/getting-started/running-pinot-locally"},"Manual/Local")))))}a.default=function(){var e=Object(b.a)().siteConfig,a=void 0===e?{}:e;return i.a.createElement(o.a,{title:a.title+": "+a.tagline,description:a.description},i.a.createElement("header",{className:E()("hero","hero--full-height",f.a.indexHeroBanner)},i.a.createElement("div",{className:"container"},i.a.createElement(m.a,{to:"https://docs.pinot.apache.org/basics/releases/0.7.1",className:f.a.indexAnnouncement},i.a.createElement("span",{className:"badge badge-primary"},"release"),"v0.7.1 has been released! Check the release notes"),i.a.createElement("h1",{className:"hero__title"},a.title),i.a.createElement("p",{className:"hero__subtitle"},a.tagline,", designed to answer OLAP queries with low latency",i.a.createElement(g.a,{src:"/img/pinot-overview.svg",className:"svg image-overview figure"})),i.a.createElement("div",{className:"hero--buttons"},i.a.createElement(m.a,{to:"https://docs.pinot.apache.org/getting-started",className:"button button--primary button--highlight"},"Getting Started"),i.a.createElement(m.a,{to:"https://communityinviter.com/apps/apache-pinot/apache-pinot",className:"button button--primary button--highlight"},"Join our Slack")),i.a.createElement("p",{className:"hero--subsubtitle"},"Pinot is proven at ",i.a.createElement("strong",null,"scale in LinkedIn")," ","powers 50+ user-facing apps and serving"," ",i.a.createElement("strong",null,"100k+ queries")))),i.a.createElement("main",null,w&&w.length&&i.a.createElement(y,{features:w}),i.a.createElement(S,null),i.a.createElement(P,null),i.a.createElement(F,null)))}}}]);