<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<!-- NewPage -->
<html lang="en">
<head>
<!-- Generated by javadoc (1.8.0_292) on Mon Oct 09 18:42:28 UTC 2023 -->
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Index (Livy 0.8.0-incubating JavaDoc)</title>
<meta name="date" content="2023-10-09">
<link rel="stylesheet" type="text/css" href="stylesheet.css" title="Style">
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<script type="text/javascript"><!--
    try {
        if (location.href.indexOf('is-external=true') == -1) {
            parent.document.title="Index (Livy 0.8.0-incubating JavaDoc)";
        }
    }
    catch(err) {
    }
//-->
</script>
<noscript>
<div>JavaScript is disabled on your browser.</div>
</noscript>
<!-- ========= START OF TOP NAVBAR ======= -->
<div class="topNav"><a name="navbar.top">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.top" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.top.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="org/apache/livy/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/livy/package-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_top">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_top");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.top">
<!--   -->
</a></div>
<!-- ========= END OF TOP NAVBAR ========= -->
<div class="contentContainer"><a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;<a name="I:A">
<!--   -->
</a>
<h2 class="title">A</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClient.html#addFile-java.net.URI-">addFile(URI)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/LivyClient.html" title="interface in org.apache.livy">LivyClient</a></dt>
<dd>
<div class="block">Adds a file to the running remote context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClient.html#addJar-java.net.URI-">addJar(URI)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/LivyClient.html" title="interface in org.apache.livy">LivyClient</a></dt>
<dd>
<div class="block">Adds a jar file to the running remote context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobHandle.html#addListener-org.apache.livy.JobHandle.Listener-">addListener(JobHandle.Listener&lt;T&gt;)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobHandle.html" title="interface in org.apache.livy">JobHandle</a></dt>
<dd>
<div class="block">Add a listener to the job handle.</div>
</dd>
</dl>
<a name="I:B">
<!--   -->
</a>
<h2 class="title">B</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClientBuilder.html#build--">build()</a></span> - Method in class org.apache.livy.<a href="org/apache/livy/LivyClientBuilder.html" title="class in org.apache.livy">LivyClientBuilder</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:C">
<!--   -->
</a>
<h2 class="title">C</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/livy/Job.html#call-org.apache.livy.JobContext-">call(JobContext)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/Job.html" title="interface in org.apache.livy">Job</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClientFactory.html#createClient-java.net.URI-java.util.Properties-">createClient(URI, Properties)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/LivyClientFactory.html" title="interface in org.apache.livy">LivyClientFactory</a></dt>
<dd>
<div class="block">Instantiates a new client if the given URI is supported by the implementation.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobContext.html#createStreamingContext-long-">createStreamingContext(long)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy">JobContext</a></dt>
<dd>
<div class="block">Creates the SparkStreaming context.</div>
</dd>
</dl>
<a name="I:G">
<!--   -->
</a>
<h2 class="title">G</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobContext.html#getLocalTmpDir--">getLocalTmpDir()</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy">JobContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobContext.html#getSharedObject-java.lang.String-">getSharedObject(String)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy">JobContext</a></dt>
<dd>
<div class="block">Get shared object</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobHandle.html#getState--">getState()</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobHandle.html" title="interface in org.apache.livy">JobHandle</a></dt>
<dd>
<div class="block">Return the current state of the job.</div>
</dd>
</dl>
<a name="I:H">
<!--   -->
</a>
<h2 class="title">H</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobContext.html#hivectx--">hivectx()</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy">JobContext</a></dt>
<dd>&nbsp;</dd>
</dl>
<a name="I:J">
<!--   -->
</a>
<h2 class="title">J</h2>
<dl>
<dt><a href="org/apache/livy/Job.html" title="interface in org.apache.livy"><span class="typeNameLink">Job</span></a>&lt;<a href="org/apache/livy/Job.html" title="type parameter in Job">T</a>&gt; - Interface in <a href="org/apache/livy/package-summary.html">org.apache.livy</a></dt>
<dd>
<div class="block">Interface for a Spark remote job.</div>
</dd>
<dt><a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy"><span class="typeNameLink">JobContext</span></a> - Interface in <a href="org/apache/livy/package-summary.html">org.apache.livy</a></dt>
<dd>
<div class="block">Holds runtime information about the job execution context.</div>
</dd>
<dt><a href="org/apache/livy/JobHandle.html" title="interface in org.apache.livy"><span class="typeNameLink">JobHandle</span></a>&lt;<a href="org/apache/livy/JobHandle.html" title="type parameter in JobHandle">T</a>&gt; - Interface in <a href="org/apache/livy/package-summary.html">org.apache.livy</a></dt>
<dd>
<div class="block">A handle to a submitted job.</div>
</dd>
<dt><a href="org/apache/livy/JobHandle.Listener.html" title="interface in org.apache.livy"><span class="typeNameLink">JobHandle.Listener</span></a>&lt;<a href="org/apache/livy/JobHandle.Listener.html" title="type parameter in JobHandle.Listener">T</a>&gt; - Interface in <a href="org/apache/livy/package-summary.html">org.apache.livy</a></dt>
<dd>
<div class="block">A listener for monitoring the state of the job in the remote context.</div>
</dd>
<dt><a href="org/apache/livy/JobHandle.State.html" title="enum in org.apache.livy"><span class="typeNameLink">JobHandle.State</span></a> - Enum in <a href="org/apache/livy/package-summary.html">org.apache.livy</a></dt>
<dd>
<div class="block">The current state of the submitted job.</div>
</dd>
</dl>
<a name="I:L">
<!--   -->
</a>
<h2 class="title">L</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClientBuilder.html#LIVY_URI_KEY">LIVY_URI_KEY</a></span> - Static variable in class org.apache.livy.<a href="org/apache/livy/LivyClientBuilder.html" title="class in org.apache.livy">LivyClientBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/livy/LivyClient.html" title="interface in org.apache.livy"><span class="typeNameLink">LivyClient</span></a> - Interface in <a href="org/apache/livy/package-summary.html">org.apache.livy</a></dt>
<dd>
<div class="block">A client for submitting Spark-based jobs to a Livy backend.</div>
</dd>
<dt><a href="org/apache/livy/LivyClientBuilder.html" title="class in org.apache.livy"><span class="typeNameLink">LivyClientBuilder</span></a> - Class in <a href="org/apache/livy/package-summary.html">org.apache.livy</a></dt>
<dd>
<div class="block">A builder for Livy clients.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClientBuilder.html#LivyClientBuilder--">LivyClientBuilder()</a></span> - Constructor for class org.apache.livy.<a href="org/apache/livy/LivyClientBuilder.html" title="class in org.apache.livy">LivyClientBuilder</a></dt>
<dd>
<div class="block">Creates a new builder that will automatically load the default Livy and Spark configuration
 from the classpath.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClientBuilder.html#LivyClientBuilder-boolean-">LivyClientBuilder(boolean)</a></span> - Constructor for class org.apache.livy.<a href="org/apache/livy/LivyClientBuilder.html" title="class in org.apache.livy">LivyClientBuilder</a></dt>
<dd>
<div class="block">Creates a new builder that will optionally load the default Livy and Spark configuration
 from the classpath.</div>
</dd>
<dt><a href="org/apache/livy/LivyClientFactory.html" title="interface in org.apache.livy"><span class="typeNameLink">LivyClientFactory</span></a> - Interface in <a href="org/apache/livy/package-summary.html">org.apache.livy</a></dt>
<dd>
<div class="block">A factory for Livy clients.</div>
</dd>
</dl>
<a name="I:O">
<!--   -->
</a>
<h2 class="title">O</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobHandle.Listener.html#onJobCancelled-org.apache.livy.JobHandle-">onJobCancelled(JobHandle&lt;T&gt;)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobHandle.Listener.html" title="interface in org.apache.livy">JobHandle.Listener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobHandle.Listener.html#onJobFailed-org.apache.livy.JobHandle-java.lang.Throwable-">onJobFailed(JobHandle&lt;T&gt;, Throwable)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobHandle.Listener.html" title="interface in org.apache.livy">JobHandle.Listener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobHandle.Listener.html#onJobQueued-org.apache.livy.JobHandle-">onJobQueued(JobHandle&lt;T&gt;)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobHandle.Listener.html" title="interface in org.apache.livy">JobHandle.Listener</a></dt>
<dd>
<div class="block">Notifies when a job has been queued for execution on the remote context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobHandle.Listener.html#onJobStarted-org.apache.livy.JobHandle-">onJobStarted(JobHandle&lt;T&gt;)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobHandle.Listener.html" title="interface in org.apache.livy">JobHandle.Listener</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobHandle.Listener.html#onJobSucceeded-org.apache.livy.JobHandle-T-">onJobSucceeded(JobHandle&lt;T&gt;, T)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobHandle.Listener.html" title="interface in org.apache.livy">JobHandle.Listener</a></dt>
<dd>&nbsp;</dd>
<dt><a href="org/apache/livy/package-summary.html">org.apache.livy</a> - package org.apache.livy</dt>
<dd>
<div class="block">Livy programmatic Java API</div>
</dd>
</dl>
<a name="I:R">
<!--   -->
</a>
<h2 class="title">R</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobContext.html#removeSharedObject-java.lang.String-">removeSharedObject(String)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy">JobContext</a></dt>
<dd>
<div class="block">Remove shared object from cache</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClient.html#run-org.apache.livy.Job-">run(Job&lt;T&gt;)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/LivyClient.html" title="interface in org.apache.livy">LivyClient</a></dt>
<dd>
<div class="block">Asks the remote context to run a job immediately.</div>
</dd>
</dl>
<a name="I:S">
<!--   -->
</a>
<h2 class="title">S</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobContext.html#sc--">sc()</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy">JobContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClientBuilder.html#setAll-java.util.Map-">setAll(Map&lt;String, String&gt;)</a></span> - Method in class org.apache.livy.<a href="org/apache/livy/LivyClientBuilder.html" title="class in org.apache.livy">LivyClientBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClientBuilder.html#setAll-java.util.Properties-">setAll(Properties)</a></span> - Method in class org.apache.livy.<a href="org/apache/livy/LivyClientBuilder.html" title="class in org.apache.livy">LivyClientBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClientBuilder.html#setConf-java.lang.String-java.lang.String-">setConf(String, String)</a></span> - Method in class org.apache.livy.<a href="org/apache/livy/LivyClientBuilder.html" title="class in org.apache.livy">LivyClientBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobContext.html#setSharedObject-java.lang.String-E-">setSharedObject(String, E)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy">JobContext</a></dt>
<dd>
<div class="block">Set shared object, it will replace the old one if already existed</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClientBuilder.html#setURI-java.net.URI-">setURI(URI)</a></span> - Method in class org.apache.livy.<a href="org/apache/livy/LivyClientBuilder.html" title="class in org.apache.livy">LivyClientBuilder</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobContext.html#sparkSession--">sparkSession()</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy">JobContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobContext.html#sqlctx--">sqlctx()</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy">JobContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClient.html#stop-boolean-">stop(boolean)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/LivyClient.html" title="interface in org.apache.livy">LivyClient</a></dt>
<dd>
<div class="block">Stops the remote context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobContext.html#stopStreamingCtx--">stopStreamingCtx()</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy">JobContext</a></dt>
<dd>
<div class="block">Stops the SparkStreaming context.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobContext.html#streamingctx--">streamingctx()</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/JobContext.html" title="interface in org.apache.livy">JobContext</a></dt>
<dd>&nbsp;</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClient.html#submit-org.apache.livy.Job-">submit(Job&lt;T&gt;)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/LivyClient.html" title="interface in org.apache.livy">LivyClient</a></dt>
<dd>
<div class="block">Submits a job for asynchronous execution.</div>
</dd>
</dl>
<a name="I:U">
<!--   -->
</a>
<h2 class="title">U</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClient.html#uploadFile-java.io.File-">uploadFile(File)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/LivyClient.html" title="interface in org.apache.livy">LivyClient</a></dt>
<dd>
<div class="block">Upload a file to be passed to the Spark application</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/LivyClient.html#uploadJar-java.io.File-">uploadJar(File)</a></span> - Method in interface org.apache.livy.<a href="org/apache/livy/LivyClient.html" title="interface in org.apache.livy">LivyClient</a></dt>
<dd>
<div class="block">Upload a jar to be added to the Spark application classpath</div>
</dd>
</dl>
<a name="I:V">
<!--   -->
</a>
<h2 class="title">V</h2>
<dl>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobHandle.State.html#valueOf-java.lang.String-">valueOf(String)</a></span> - Static method in enum org.apache.livy.<a href="org/apache/livy/JobHandle.State.html" title="enum in org.apache.livy">JobHandle.State</a></dt>
<dd>
<div class="block">Returns the enum constant of this type with the specified name.</div>
</dd>
<dt><span class="memberNameLink"><a href="org/apache/livy/JobHandle.State.html#values--">values()</a></span> - Static method in enum org.apache.livy.<a href="org/apache/livy/JobHandle.State.html" title="enum in org.apache.livy">JobHandle.State</a></dt>
<dd>
<div class="block">Returns an array containing the constants of this enum type, in
the order they are declared.</div>
</dd>
</dl>
<a href="#I:A">A</a>&nbsp;<a href="#I:B">B</a>&nbsp;<a href="#I:C">C</a>&nbsp;<a href="#I:G">G</a>&nbsp;<a href="#I:H">H</a>&nbsp;<a href="#I:J">J</a>&nbsp;<a href="#I:L">L</a>&nbsp;<a href="#I:O">O</a>&nbsp;<a href="#I:R">R</a>&nbsp;<a href="#I:S">S</a>&nbsp;<a href="#I:U">U</a>&nbsp;<a href="#I:V">V</a>&nbsp;</div>
<!-- ======= START OF BOTTOM NAVBAR ====== -->
<div class="bottomNav"><a name="navbar.bottom">
<!--   -->
</a>
<div class="skipNav"><a href="#skip.navbar.bottom" title="Skip navigation links">Skip navigation links</a></div>
<a name="navbar.bottom.firstrow">
<!--   -->
</a>
<ul class="navList" title="Navigation">
<li><a href="org/apache/livy/package-summary.html">Package</a></li>
<li>Class</li>
<li>Use</li>
<li><a href="org/apache/livy/package-tree.html">Tree</a></li>
<li><a href="deprecated-list.html">Deprecated</a></li>
<li class="navBarCell1Rev">Index</li>
<li><a href="help-doc.html">Help</a></li>
</ul>
</div>
<div class="subNav">
<ul class="navList">
<li>Prev</li>
<li>Next</li>
</ul>
<ul class="navList">
<li><a href="index.html?index-all.html" target="_top">Frames</a></li>
<li><a href="index-all.html" target="_top">No&nbsp;Frames</a></li>
</ul>
<ul class="navList" id="allclasses_navbar_bottom">
<li><a href="allclasses-noframe.html">All&nbsp;Classes</a></li>
</ul>
<div>
<script type="text/javascript"><!--
  allClassesLink = document.getElementById("allclasses_navbar_bottom");
  if(window==top) {
    allClassesLink.style.display = "block";
  }
  else {
    allClassesLink.style.display = "none";
  }
  //-->
</script>
</div>
<a name="skip.navbar.bottom">
<!--   -->
</a></div>
<!-- ======== END OF BOTTOM NAVBAR ======= -->
<p class="legalCopy"><small>Copyright &#169; 2023 <a href="https://www.apache.org/">The Apache Software Foundation</a>. All rights reserved.</small></p>
</body>
</html>
