blob: d92391508f6cae79cd6a31930557b92c64ee9155 [file] [log] [blame]
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width">
<meta name="generator" content="Docusaurus">
<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","TEMP","auto"),ga("send","pageview")</script>
<script async src="https://www.google-analytics.com/analytics.js"></script>
<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">Java | Apache Pinot™ (Incubating)</title>
<meta data-react-helmet="true" http-equiv="x-ua-compatible" content="ie=edge"><meta data-react-helmet="true" property="og:title" content="Apache Pinot™ (Incubating)"><meta data-react-helmet="true" name="twitter:card" content="summary"><meta data-react-helmet="true" name="description" content="Pinot Java Client"><meta data-react-helmet="true" property="og:description" content="Pinot Java Client"><meta data-react-helmet="true" property="og:url" content="https://pinot.apache.com/docs/user-guide/clients/java">
<link data-react-helmet="true" rel="shortcut icon" href="/img/favicon.ico">
<link rel="stylesheet" href="/styles.a32537ac.css">
<link rel="preload" href="/styles.24b654c1.js" as="script">
<link rel="preload" href="/runtime~main.f3cf791d.js" as="script">
<link rel="preload" href="/main.076a6be3.js" as="script">
<link rel="preload" href="/1.e20dc13f.js" as="script">
<link rel="preload" href="/2.db88ce84.js" as="script">
<link rel="preload" href="/3.aba5d02b.js" as="script">
<link rel="preload" href="/1be78505.6fb3c07d.js" as="script">
<link rel="preload" href="/20ac7829.bc382f0c.js" as="script">
<link rel="preload" href="/17896441.553c0097.js" as="script">
<link rel="preload" href="/f0c930b7.a1166eb2.js" as="script">
</head>
<body>
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=window.matchMedia("(prefers-color-scheme: dark)"),n=function(){var t=null;try{t=localStorage.getItem("theme")}catch(t){}return t}();null!==n?t(n):e.matches&&t("dark")}()</script>
<div id="__docusaurus">
<nav class="navbar navbar--light navbar--fixed-top navbarHideable_OaSq"><div class="navbar__inner"><div class="navbar__items"><div aria-label="Navigation bar toggle" class="navbar__toggle" role="button" tabindex="0"><svg xmlns="http://www.w3.org/2000/svg" width="30" height="30" viewBox="0 0 30 30" role="img" focusable="false"><title>Menu</title><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></div><a aria-current="page" class="navbar__brand active" href="/"><img class="navbar__logo" src="/img/logo.svg" alt="Pinot"><strong class="navbar__title">Pinot™ (Incubating)</strong></a></div><div class="navbar__items navbar__items--right"><a class="navbar__item navbar__link" activeclassname="navbar__link--active" to="https://apache-pinot.gitbook.io/apache-pinot-cookbook/" href="https://apache-pinot.gitbook.io/apache-pinot-cookbook/">Docs</a><a class="navbar__item navbar__link" activeclassname="navbar__link--active" to="https://issues.apache.org/jira/projects/PINOT/issues" href="https://issues.apache.org/jira/projects/PINOT/issues">Jira</a><a class="navbar__item navbar__link" activeclassname="navbar__link--active" to="https://cwiki.apache.org/confluence/display/PINOT/Blogs+and+Talks" href="https://cwiki.apache.org/confluence/display/PINOT/Blogs+and+Talks">Blog</a><a class="navbar__item navbar__link" activeclassname="navbar__link--active" to="https://cwiki.apache.org/confluence/display/PINOT" href="https://cwiki.apache.org/confluence/display/PINOT">Wiki</a><a class="navbar__item navbar__link" target="_blank" rel="noopener noreferrer" href="https://github.com/apache/incubator-pinot">GitHub</a><div class="react-toggle react-toggle--disabled displayOnlyInLargeViewport_1gtM"><div class="react-toggle-track"><div class="react-toggle-track-check"><span class="toggle_keGJ moon_1gwN"></span></div><div class="react-toggle-track-x"><span class="toggle_keGJ sun_3CPA"></span></div></div><div class="react-toggle-thumb"></div><input type="checkbox" disabled="" aria-label="Dark mode toggle" class="react-toggle-screenreader-only"></div><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input type="search" id="search_input_react" placeholder="Search" aria-label="Search" class="navbar__search-input search-bar"></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div><div class="navbar-sidebar"><div class="navbar-sidebar__brand"><a aria-current="page" class="navbar__brand active" href="/"><img class="navbar__logo" src="/img/logo.svg" alt="Pinot"><strong class="navbar__title">Pinot™ (Incubating)</strong></a></div><div class="navbar-sidebar__items"><div class="menu"><ul class="menu__list"><li class="menu__list-item"><a class="menu__link" activeclassname="navbar__link--active" to="https://apache-pinot.gitbook.io/apache-pinot-cookbook/" href="https://apache-pinot.gitbook.io/apache-pinot-cookbook/">Docs</a></li><li class="menu__list-item"><a class="menu__link" activeclassname="navbar__link--active" to="https://issues.apache.org/jira/projects/PINOT/issues" href="https://issues.apache.org/jira/projects/PINOT/issues">Jira</a></li><li class="menu__list-item"><a class="menu__link" activeclassname="navbar__link--active" to="https://cwiki.apache.org/confluence/display/PINOT/Blogs+and+Talks" href="https://cwiki.apache.org/confluence/display/PINOT/Blogs+and+Talks">Blog</a></li><li class="menu__list-item"><a class="menu__link" activeclassname="navbar__link--active" to="https://cwiki.apache.org/confluence/display/PINOT" href="https://cwiki.apache.org/confluence/display/PINOT">Wiki</a></li><li class="menu__list-item"><a class="menu__link" target="_blank" rel="noopener noreferrer" href="https://github.com/apache/incubator-pinot">GitHub</a></li></ul></div></div></div></nav><div class="main-wrapper"><div class="docPage_1kjD"><main class="docMainContainer_FFX1"><div class="padding-vert--lg"><div class="container"><div class="row"><div class="col docItemCol_2GOA"><div class="docItemContainer_2cwg"><article><header><h1 class="docTitle_1vWb">Java</h1></header><div class="markdown"><p>The java client can be found in pinot-clients/pinot-java-client. Here&#x27;s an example of how to use the pinot-java-client to query Pinot.</p><div class="mdxCodeBlock_iHAB"><pre class="prism-code language-java codeBlock_19pQ"><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button><code class="codeBlockLines_2n9r" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token namespace" style="opacity:0.7">org</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">apache</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">pinot</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token class-name">Connection</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token namespace" style="opacity:0.7">org</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">apache</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">pinot</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token class-name">ConnectionFactory</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token namespace" style="opacity:0.7">org</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">apache</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">pinot</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token class-name">Request</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token namespace" style="opacity:0.7">org</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">apache</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">pinot</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token class-name">ResultSetGroup</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">import</span><span class="token plain"> </span><span class="token namespace" style="opacity:0.7">org</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">apache</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">pinot</span><span class="token namespace punctuation" style="opacity:0.7;color:#393A34">.</span><span class="token namespace" style="opacity:0.7">client</span><span class="token punctuation" style="color:#393A34">.</span><span class="token class-name">ResultSet</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">/**</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> * Demonstrates the use of the pinot-client to query Pinot from Java</span></div><div class="token-line" style="color:#393A34"><span class="token comment" style="color:#999988;font-style:italic"> */</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">public</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">class</span><span class="token plain"> </span><span class="token class-name">PinotClientExample</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">public</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">static</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">void</span><span class="token plain"> </span><span class="token function" style="color:#d73a49">main</span><span class="token punctuation" style="color:#393A34">(</span><span class="token class-name">String</span><span class="token punctuation" style="color:#393A34">[</span><span class="token punctuation" style="color:#393A34">]</span><span class="token plain"> args</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// pinot connection</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">String</span><span class="token plain"> zkUrl </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;localhost:2181&quot;</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">String</span><span class="token plain"> pinotClusterName </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;PinotCluster&quot;</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">Connection</span><span class="token plain"> pinotConnection </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token class-name">ConnectionFactory</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">fromZookeeper</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">zkUrl </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;/&quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> pinotClusterName</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">String</span><span class="token plain"> query </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;SELECT COUNT(*) FROM myTable GROUP BY foo&quot;</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// set queryType=sql for querying the sql endpoint</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">Request</span><span class="token plain"> pinotClientRequest </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">Request</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;sql&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> query</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">ResultSetGroup</span><span class="token plain"> pinotResultSetGroup </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> pinotConnection</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">execute</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">pinotClientRequest</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">ResultSet</span><span class="token plain"> resultTableResultSet </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> pinotResultSetGroup</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getResultSet</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">int</span><span class="token plain"> numRows </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> resultTableResultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getRowCount</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">int</span><span class="token plain"> numColumns </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> resultTableResultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getColumnCount</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">String</span><span class="token plain"> columnValue </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> resultTableResultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getString</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">String</span><span class="token plain"> columnName </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> resultTableResultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getColumnName</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">System</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">out</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">println</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;ColumnName: &quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> columnName </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;, ColumnValue: &quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> columnValue</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span></div></code></pre></div><p>Connections to Pinot are created using the ConnectionFactory class&#x27; utility methods to create connections to a Pinot cluster given a Zookeeper URL, a Java Properties object or a list of broker addresses to connect to.</p><div class="mdxCodeBlock_iHAB"><pre class="prism-code language-java codeBlock_19pQ"><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button><code class="codeBlockLines_2n9r" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token class-name">Connection</span><span class="token plain"> connection </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token class-name">ConnectionFactory</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">fromZookeeper</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;some-zookeeper-server:2191/zookeeperPath&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">Connection</span><span class="token plain"> connection </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token class-name">ConnectionFactory</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">fromProperties</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;demo.properties&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">Connection</span><span class="token plain"> connection </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token class-name">ConnectionFactory</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">fromHostList</span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;some-server:1234&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;some-other-server:1234&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">.</span><span class="token punctuation" style="color:#393A34">.</span><span class="token punctuation" style="color:#393A34">.</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span></div></code></pre></div><p>Queries can be sent directly to the Pinot cluster using the <code>Connection.execute(org.apache.pinot.client.Request)</code> and <code>Connection.executeAsync(org.apache.pinot.client.Request)</code> methods of Connection:</p><div class="mdxCodeBlock_iHAB"><pre class="prism-code language-java codeBlock_19pQ"><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button><code class="codeBlockLines_2n9r" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token class-name">ResultSetGroup</span><span class="token plain"> resultSetGroup </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> connection</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">execute</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">Request</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;sql&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;select * from foo...&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// OR</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">Future</span><span class="token generics punctuation" style="color:#393A34">&lt;</span><span class="token generics class-name">ResultSetGroup</span><span class="token generics punctuation" style="color:#393A34">&gt;</span><span class="token plain"> futureResultSetGroup </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> connection</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">executeAsync</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">Request</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;sql&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;select * from foo...&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span></div></code></pre></div><p>Queries can also use a <code>PreparedStatement</code> to escape query parameters:</p><div class="mdxCodeBlock_iHAB"><pre class="prism-code language-java codeBlock_19pQ"><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button><code class="codeBlockLines_2n9r" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token class-name">PreparedStatement</span><span class="token plain"> statement </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> connection</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">prepareStatement</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">Request</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;sql&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;select * from foo where a = ?&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain">statement</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">setString</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;bar&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">ResultSetGroup</span><span class="token plain"> resultSetGroup </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> statement</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">execute</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token comment" style="color:#999988;font-style:italic">// OR</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">Future</span><span class="token generics punctuation" style="color:#393A34">&lt;</span><span class="token generics class-name">ResultSetGroup</span><span class="token generics punctuation" style="color:#393A34">&gt;</span><span class="token plain"> futureResultSetGroup </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> statement</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">executeAsync</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span></div></code></pre></div><p>Results can be obtained with the various get methods in the first ResultSet, obtained through the getResultSet(int) method:</p><div class="mdxCodeBlock_iHAB"><pre class="prism-code language-java codeBlock_19pQ"><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button><code class="codeBlockLines_2n9r" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token class-name">Request</span><span class="token plain"> request </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">Request</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;sql&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;select foo, bar from baz where quux = &#x27;quuux&#x27;&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">ResultSetGroup</span><span class="token plain"> resultSetGroup </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> connection</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">execute</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">request</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">ResultSet</span><span class="token plain"> resultTableResultSet </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> pinotResultSetGroup</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getResultSet</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">for</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">int</span><span class="token plain"> i </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> i </span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain"> resultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getRowCount</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">++</span><span class="token plain">i</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">System</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">out</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">println</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;foo: &quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> resultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getString</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">i</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">System</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">out</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">println</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;bar: &quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> resultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getInt</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">i</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span></div></code></pre></div><div class="alert alert--info alert--icon" role="alert"><i class="feather icon-info"></i> The examples for the sections below this note, are for querying the PQL endpoint, which is deprecated and will be deleted soon. For more information about the 2 endpoints, visit [Querying Pinot](/docs/user-guide/query-pinot).</div><p>If queryFormat pql is used in the Request, there are some differences in how the results can be accessed, depending on the query.
In the case of aggregation, each aggregation function is within its own ResultSet. A query with multiple aggregation function will return one result set per aggregation function, as they are computed in parallel.</p><div class="mdxCodeBlock_iHAB"><pre class="prism-code language-java codeBlock_19pQ"><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button><code class="codeBlockLines_2n9r" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token class-name">ResultSetGroup</span><span class="token plain"> resultSetGroup </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> connection</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">execute</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">Request</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;pql&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;select max(foo), min(foo) from bar&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">System</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">out</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">println</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;Number of result groups:&quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> resultSetGroup</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getResultSetCount</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 2, min(foo) and max(foo)</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">ResultSet</span><span class="token plain"> resultSetMax </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> resultSetGroup</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getResultSet</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">System</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">out</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">println</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;Max foo: &quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> resultSetMax</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getInt</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">ResultSet</span><span class="token plain"> resultSetMin </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> resultSetGroup</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getResultSet</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">System</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">out</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">println</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;Min foo: &quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> resultSetMin</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getInt</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span></div></code></pre></div><p>In case of aggregation group by, there will be as many ResultSets as the number of aggregations, each of which will contain multiple results grouped by a group key.</p><div class="mdxCodeBlock_iHAB"><pre class="prism-code language-java codeBlock_19pQ"><button type="button" aria-label="Copy code to clipboard" class="copyButton_1BYj">Copy</button><code class="codeBlockLines_2n9r" style="color:#393A34;background-color:#f6f8fa"><div class="token-line" style="color:#393A34"><span class="token class-name">ResultSetGroup</span><span class="token plain"> resultSetGroup </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> connection</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">execute</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token keyword" style="color:#00009f">new</span><span class="token plain"> </span><span class="token class-name">Request</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;pql&quot;</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;select min(foo), max(foo) from bar group by baz&quot;</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">System</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">out</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">println</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;Number of result groups:&quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> resultSetGroup</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getResultSetCount</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token comment" style="color:#999988;font-style:italic">// 2, min(foo) and max(foo)</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">ResultSet</span><span class="token plain"> minResultSet </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> resultSetGroup</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getResultSet</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">for</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">int</span><span class="token plain"> i </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> i </span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain"> minResultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">length</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">++</span><span class="token plain">i</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">System</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">out</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">println</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;Minimum foo for &quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> minResultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getGroupKeyString</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">i</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;: &quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> minResultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getInt</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">i</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain" style="display:inline-block">
</span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token class-name">ResultSet</span><span class="token plain"> maxResultSet </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> resultSetGroup</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getResultSet</span><span class="token punctuation" style="color:#393A34">(</span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token keyword" style="color:#00009f">for</span><span class="token punctuation" style="color:#393A34">(</span><span class="token keyword" style="color:#00009f">int</span><span class="token plain"> i </span><span class="token operator" style="color:#393A34">=</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">0</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> i </span><span class="token operator" style="color:#393A34">&lt;</span><span class="token plain"> maxResultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">length</span><span class="token punctuation" style="color:#393A34">(</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">++</span><span class="token plain">i</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token punctuation" style="color:#393A34">{</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token class-name">System</span><span class="token punctuation" style="color:#393A34">.</span><span class="token plain">out</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">println</span><span class="token punctuation" style="color:#393A34">(</span><span class="token string" style="color:#e3116c">&quot;Maximum foo for &quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> maxResultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getGroupKeyString</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">i</span><span class="token punctuation" style="color:#393A34">,</span><span class="token plain"> </span><span class="token number" style="color:#36acaa">1</span><span class="token punctuation" style="color:#393A34">)</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"> </span><span class="token string" style="color:#e3116c">&quot;: &quot;</span><span class="token plain"> </span><span class="token operator" style="color:#393A34">+</span><span class="token plain"> maxResultSet</span><span class="token punctuation" style="color:#393A34">.</span><span class="token function" style="color:#d73a49">getInt</span><span class="token punctuation" style="color:#393A34">(</span><span class="token plain">i</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">)</span><span class="token punctuation" style="color:#393A34">;</span><span class="token plain"></span></div><div class="token-line" style="color:#393A34"><span class="token plain"></span><span class="token punctuation" style="color:#393A34">}</span></div></code></pre></div></div></article><div class="margin-vert--xl"><div class="row"><div class="col"><a href="https://github.com/apache/incubator-pinot/edit/master/website/docs/user-guide/clients/java.md" target="_blank" rel="noreferrer noopener"><svg fill="currentColor" height="1.2em" width="1.2em" preserveAspectRatio="xMidYMid meet" viewBox="0 0 40 40" style="margin-right:0.3em;vertical-align:sub"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div></div></div><div class="margin-vert--lg"><nav class="pagination-nav"><div class="pagination-nav__item"></div><div class="pagination-nav__item pagination-nav__item--next"></div></nav></div></div></div><div class="col col--3"><div class="tableOfContents_TbNY"></div></div></div></div></div></main></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 class="footer__link-item" to="https://docs.pinot.apache.org/" href="https://docs.pinot.apache.org/">What is Pinot?</a></li><li class="footer__item"><a class="footer__link-item" to="https://docs.pinot.apache.org/pinot-components" href="https://docs.pinot.apache.org/pinot-components">Components</a></li><li class="footer__item"><a class="footer__link-item" to="https://docs.pinot.apache.org/concepts/architecture" href="https://docs.pinot.apache.org/concepts/architecture">Architecture</a></li><li class="footer__item"><a class="footer__link-item" to="https://docs.pinot.apache.org/plugins/plugin-architecture" href="https://docs.pinot.apache.org/plugins/plugin-architecture">PluginsArchitecture</a></li></ul></div><div class="col footer__col"><h4 class="footer__title">Components</h4><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" to="https://docs.pinot.apache.org/integrations/presto" href="https://docs.pinot.apache.org/integrations/presto">Presto</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/components/sources">PQL</a></li><li class="footer__item"><a class="footer__link-item" to="https://docs.pinot.apache.org/integrations/thirdeye" href="https://docs.pinot.apache.org/integrations/thirdeye">ThirdEye</a></li><li class="footer__item"><a class="footer__link-item" href="/docs/components/sinks">PowerBI</a></li></ul></div><div class="col footer__col"><h4 class="footer__title">Docs</h4><ul class="footer__items"><li class="footer__item"><a class="footer__link-item" to="https://docs.pinot.apache.org/getting-started" href="https://docs.pinot.apache.org/getting-started">GettingStarted</a></li><li class="footer__item"><a class="footer__link-item" to="https://docs.pinot.apache.org/pinot-components" href="https://docs.pinot.apache.org/pinot-components">PinotComponents</a></li><li class="footer__item"><a class="footer__link-item" to="https://docs.pinot.apache.org/pinot-user-guide" href="https://docs.pinot.apache.org/pinot-user-guide">UserGuide</a></li><li class="footer__item"><a class="footer__link-item" to="https://docs.pinot.apache.org/operating-pinot" href="https://docs.pinot.apache.org/operating-pinot">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 class="footer__link-item" to="https://communityinviter.com/apps/apache-pinot/apache-pinot" href="https://communityinviter.com/apps/apache-pinot/apache-pinot">Slack</a></li><li class="footer__item"><a class="footer__link-item" to="https://github.com/apache/incubator-pinot" href="https://github.com/apache/incubator-pinot">Github</a></li><li class="footer__item"><a class="footer__link-item" to="https://twitter.com/ApachePinot" href="https://twitter.com/ApachePinot">Twitter</a></li><li class="footer__item"><a class="footer__link-item" href="/mailto:dev-subscribe@pinot.apache.org?Subject=SubscribeToPinot">Mailing List</a></li></ul></div></div><div class="text--center"><div class="margin-bottom--sm"><a href="https://pinot.apache.org/" target="_blank" rel="noopener noreferrer" class="footerLogoLink_1Wg7"><img class="footer__logo" alt="Apache Pinot™ - Incubating" src="/img/logo.svg"></a></div><div>Copyright © 2020 The Apache Software Foundation.</div></div></div></footer>
</div>
<script src="/styles.24b654c1.js"></script>
<script src="/runtime~main.f3cf791d.js"></script>
<script src="/main.076a6be3.js"></script>
<script src="/1.e20dc13f.js"></script>
<script src="/2.db88ce84.js"></script>
<script src="/3.aba5d02b.js"></script>
<script src="/1be78505.6fb3c07d.js"></script>
<script src="/20ac7829.bc382f0c.js"></script>
<script src="/17896441.553c0097.js"></script>
<script src="/f0c930b7.a1166eb2.js"></script>
</body>
</html>