| <!DOCTYPE HTML> |
| <html lang> |
| <head> |
| <!-- Generated by javadoc (17) on Sat Jun 13 20:43:56 UTC 2026 --> |
| <title>SessionContextBuilder (Apache DataFusion Java 0.2.0-SNAPSHOT)</title> |
| <meta name="viewport" content="width=device-width, initial-scale=1"> |
| <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> |
| <meta name="dc.created" content="2026-06-13"> |
| <meta name="description" content="declaration: package: org.apache.datafusion, class: SessionContextBuilder"> |
| <meta name="generator" content="javadoc/ClassWriterImpl"> |
| <link rel="stylesheet" type="text/css" href="../../../stylesheet.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../script-dir/jquery-ui.min.css" title="Style"> |
| <link rel="stylesheet" type="text/css" href="../../../jquery-ui.overrides.css" title="Style"> |
| <script type="text/javascript" src="../../../script.js"></script> |
| <script type="text/javascript" src="../../../script-dir/jquery-3.7.1.min.js"></script> |
| <script type="text/javascript" src="../../../script-dir/jquery-ui.min.js"></script> |
| </head> |
| <body class="class-declaration-page"> |
| <script type="text/javascript">var evenRowColor = "even-row-color"; |
| var oddRowColor = "odd-row-color"; |
| var tableTab = "table-tab"; |
| var activeTableTab = "active-table-tab"; |
| var pathtoroot = "../../../"; |
| loadScripts(document, 'script');</script> |
| <noscript> |
| <div>JavaScript is disabled on your browser.</div> |
| </noscript> |
| <div class="flex-box"> |
| <header role="banner" class="flex-header"> |
| <nav role="navigation"> |
| <!-- ========= START OF TOP NAVBAR ======= --> |
| <div class="top-nav" id="navbar-top"> |
| <div class="skip-nav"><a href="#skip-navbar-top" title="Skip navigation links">Skip navigation links</a></div> |
| <ul id="navbar-top-firstrow" class="nav-list" title="Navigation"> |
| <li><a href="../../../index.html">Overview</a></li> |
| <li><a href="package-summary.html">Package</a></li> |
| <li class="nav-bar-cell1-rev">Class</li> |
| <li><a href="class-use/SessionContextBuilder.html">Use</a></li> |
| <li><a href="package-tree.html">Tree</a></li> |
| <li><a href="../../../index-all.html">Index</a></li> |
| <li><a href="../../../help-doc.html#class">Help</a></li> |
| </ul> |
| </div> |
| <div class="sub-nav"> |
| <div> |
| <ul class="sub-nav-list"> |
| <li>Summary: </li> |
| <li>Nested | </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method-summary">Method</a></li> |
| </ul> |
| <ul class="sub-nav-list"> |
| <li>Detail: </li> |
| <li>Field | </li> |
| <li>Constr | </li> |
| <li><a href="#method-detail">Method</a></li> |
| </ul> |
| </div> |
| <div class="nav-list-search"><label for="search-input">SEARCH:</label> |
| <input type="text" id="search-input" value="search" disabled="disabled"> |
| <input type="reset" id="reset-button" value="reset" disabled="disabled"> |
| </div> |
| </div> |
| <!-- ========= END OF TOP NAVBAR ========= --> |
| <span class="skip-nav" id="skip-navbar-top"></span></nav> |
| </header> |
| <div class="flex-content"> |
| <main role="main"> |
| <!-- ======== START OF CLASS DATA ======== --> |
| <div class="header"> |
| <div class="sub-title"><span class="package-label-in-type">Package</span> <a href="package-summary.html">org.apache.datafusion</a></div> |
| <h1 title="Class SessionContextBuilder" class="title">Class SessionContextBuilder</h1> |
| </div> |
| <div class="inheritance" title="Inheritance Tree"><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">java.lang.Object</a> |
| <div class="inheritance">org.apache.datafusion.SessionContextBuilder</div> |
| </div> |
| <section class="class-description" id="class-description"> |
| <hr> |
| <div class="type-signature"><span class="modifiers">public final class </span><span class="element-name type-name-label">SessionContextBuilder</span> |
| <span class="extends-implements">extends <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></span></div> |
| <div class="block">Builder for a configured <a href="SessionContext.html" title="class in org.apache.datafusion"><code>SessionContext</code></a>. Each setter is optional; unset fields leave the |
| DataFusion default in place.</div> |
| </section> |
| <section class="summary"> |
| <ul class="summary-list"> |
| <!-- ========== METHOD SUMMARY =========== --> |
| <li> |
| <section class="method-summary" id="method-summary"> |
| <h2>Method Summary</h2> |
| <div id="method-summary-table"> |
| <div class="table-tabs" role="tablist" aria-orientation="horizontal"><button id="method-summary-table-tab0" role="tab" aria-selected="true" aria-controls="method-summary-table.tabpanel" tabindex="0" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table', 3)" class="active-table-tab">All Methods</button><button id="method-summary-table-tab2" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab2', 3)" class="table-tab">Instance Methods</button><button id="method-summary-table-tab4" role="tab" aria-selected="false" aria-controls="method-summary-table.tabpanel" tabindex="-1" onkeydown="switchTab(event)" onclick="show('method-summary-table', 'method-summary-table-tab4', 3)" class="table-tab">Concrete Methods</button></div> |
| <div id="method-summary-table.tabpanel" role="tabpanel" aria-labelledby="method-summary-table-tab0"> |
| <div class="summary-table three-column-summary"> |
| <div class="table-header col-first">Modifier and Type</div> |
| <div class="table-header col-second">Method</div> |
| <div class="table-header col-last">Description</div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#batchSize(int)" class="member-name-link">batchSize</a><wbr>(int batchSize)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContext.html" title="class in org.apache.datafusion">SessionContext</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#build()" class="member-name-link">build</a>()</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Construct a <a href="SessionContext.html" title="class in org.apache.datafusion"><code>SessionContext</code></a> with the configured options.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#cacheManager(org.apache.datafusion.CacheManagerOptions)" class="member-name-link">cacheManager</a><wbr>(<a href="CacheManagerOptions.html" title="class in org.apache.datafusion">CacheManagerOptions</a> options)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Configure DataFusion's built-in <code>CacheManager</code> for the new context.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#collectStatistics(boolean)" class="member-name-link">collectStatistics</a><wbr>(boolean collectStatistics)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#disableSpill()" class="member-name-link">disableSpill</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Disable on-disk spill entirely.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#informationSchema(boolean)" class="member-name-link">informationSchema</a><wbr>(boolean informationSchema)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#maxTempDirectorySize(long)" class="member-name-link">maxTempDirectorySize</a><wbr>(long bytes)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Cap the cumulative bytes used by spill files under <a href="#tempDirectory(java.lang.String)"><code>tempDirectory(String)</code></a>.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#memoryLimit(long,double)" class="member-name-link">memoryLimit</a><wbr>(long maxMemoryBytes, |
| double fraction)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Cap the memory pool at <code>maxMemoryBytes</code>, reserving <code>fraction</code> of it for queries.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#registerObjectStore(org.apache.datafusion.ObjectStoreOptions)" class="member-name-link">registerObjectStore</a><wbr>(<a href="ObjectStoreOptions.html" title="class in org.apache.datafusion">ObjectStoreOptions</a> options)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Register an <code>object_store::ObjectStore</code> backend on the new context's <code>RuntimeEnv</code>.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setOption(java.lang.String,java.lang.String)" class="member-name-link">setOption</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> key, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> value)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Set an arbitrary <code>datafusion.*</code> config option by string key.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setOptions(java.util.LinkedHashMap)" class="member-name-link">setOptions</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/LinkedHashMap.html" title="class or interface in java.util" class="external-link">LinkedHashMap</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> entries)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Apply every entry of <code>entries</code> via <a href="#setOption(java.lang.String,java.lang.String)"><code>setOption(String, String)</code></a>, in <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/LinkedHashMap.html" title="class or interface in java.util" class="external-link"><code>LinkedHashMap</code></a> insertion order.</div> |
| </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#setOptions(java.util.Map)" class="member-name-link">setOptions</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> entries)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Apply every entry of <code>entries</code> via <a href="#setOption(java.lang.String,java.lang.String)"><code>setOption(String, String)</code></a>.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#targetPartitions(int)" class="member-name-link">targetPartitions</a><wbr>(int targetPartitions)</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> </div> |
| <div class="col-first odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#tempDirectory(java.lang.String)" class="member-name-link">tempDirectory</a><wbr>(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> path)</code></div> |
| <div class="col-last odd-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Directory the DiskManager uses for spill files.</div> |
| </div> |
| <div class="col-first even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></code></div> |
| <div class="col-second even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"><code><a href="#withSparkFunctions()" class="member-name-link">withSparkFunctions</a>()</code></div> |
| <div class="col-last even-row-color method-summary-table method-summary-table-tab2 method-summary-table-tab4"> |
| <div class="block">Register Apache Spark-compatible functions and expression planners on the new context, using |
| the <code>datafusion-spark</code> crate.</div> |
| </div> |
| </div> |
| </div> |
| </div> |
| <div class="inherited-list"> |
| <h3 id="methods-inherited-from-class-java.lang.Object">Methods inherited from class java.lang.<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html" title="class or interface in java.lang" class="external-link">Object</a></h3> |
| <code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#clone()" title="class or interface in java.lang" class="external-link">clone</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#equals(java.lang.Object)" title="class or interface in java.lang" class="external-link">equals</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#finalize()" title="class or interface in java.lang" class="external-link">finalize</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#getClass()" title="class or interface in java.lang" class="external-link">getClass</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#hashCode()" title="class or interface in java.lang" class="external-link">hashCode</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notify()" title="class or interface in java.lang" class="external-link">notify</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#notifyAll()" title="class or interface in java.lang" class="external-link">notifyAll</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#toString()" title="class or interface in java.lang" class="external-link">toString</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait()" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long)" title="class or interface in java.lang" class="external-link">wait</a>, <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/Object.html#wait(long,int)" title="class or interface in java.lang" class="external-link">wait</a></code></div> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <section class="details"> |
| <ul class="details-list"> |
| <!-- ============ METHOD DETAIL ========== --> |
| <li> |
| <section class="method-details" id="method-detail"> |
| <h2>Method Details</h2> |
| <ul class="member-list"> |
| <li> |
| <section class="detail" id="batchSize(int)"> |
| <h3>batchSize</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">batchSize</span><wbr><span class="parameters">(int batchSize)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="targetPartitions(int)"> |
| <h3>targetPartitions</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">targetPartitions</span><wbr><span class="parameters">(int targetPartitions)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="collectStatistics(boolean)"> |
| <h3>collectStatistics</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">collectStatistics</span><wbr><span class="parameters">(boolean collectStatistics)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="informationSchema(boolean)"> |
| <h3>informationSchema</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">informationSchema</span><wbr><span class="parameters">(boolean informationSchema)</span></div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="memoryLimit(long,double)"> |
| <h3>memoryLimit</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">memoryLimit</span><wbr><span class="parameters">(long maxMemoryBytes, |
| double fraction)</span></div> |
| <div class="block">Cap the memory pool at <code>maxMemoryBytes</code>, reserving <code>fraction</code> of it for queries.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="tempDirectory(java.lang.String)"> |
| <h3>tempDirectory</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">tempDirectory</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> path)</span></div> |
| <div class="block">Directory the DiskManager uses for spill files.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="disableSpill()"> |
| <h3>disableSpill</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">disableSpill</span>()</div> |
| <div class="block">Disable on-disk spill entirely. Queries that need spill fail with a <a href="ResourcesExhaustedException.html" title="class in org.apache.datafusion"><code>ResourcesExhaustedException</code></a> rather than going to disk; useful for memory-only execution |
| profiles or environments without writable disk. |
| |
| <p>Mutually exclusive with <a href="#tempDirectory(java.lang.String)"><code>tempDirectory(String)</code></a> — the combination throws at <a href="#build()"><code>build()</code></a> time. <a href="#maxTempDirectorySize(long)"><code>maxTempDirectorySize(long)</code></a> is allowed alongside this setter but is a |
| no-op (no directory to cap).</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="maxTempDirectorySize(long)"> |
| <h3>maxTempDirectorySize</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">maxTempDirectorySize</span><wbr><span class="parameters">(long bytes)</span></div> |
| <div class="block">Cap the cumulative bytes used by spill files under <a href="#tempDirectory(java.lang.String)"><code>tempDirectory(String)</code></a>. Mirrors |
| upstream <code>RuntimeEnvBuilder::with_max_temp_directory_size</code> 1:1. Once exceeded, queries |
| that need more spill space fail with a <a href="ResourcesExhaustedException.html" title="class in org.apache.datafusion"><code>ResourcesExhaustedException</code></a>. Combinable with |
| <a href="#disableSpill()"><code>disableSpill()</code></a> but a no-op there. |
| |
| <p><code>0</code> is accepted — upstream documents zero as legal and equivalent to "no spill |
| allowed". Negative values are rejected.</div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if <code>bytes</code> is negative.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="setOption(java.lang.String,java.lang.String)"> |
| <h3>setOption</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">setOption</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> key, |
| <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a> value)</span></div> |
| <div class="block">Set an arbitrary <code>datafusion.*</code> config option by string key. Mirrors DataFusion's <code> |
| ConfigOptions::set(key, value)</code> API — see the DataFusion configuration reference for the full |
| set of keys. Entries set this way are applied <strong>after</strong> the typed setters on this |
| builder, so an explicit <code>setOption</code> call overrides a typed setter for the same knob. |
| |
| <p><code>datafusion.runtime.*</code> keys (memory limit, temp directory, cache sizes, etc) are not |
| yet supported by this setter and will throw at <a href="#build()"><code>build()</code></a>. Use the typed <a href="#memoryLimit(long,double)"><code>memoryLimit(long, double)</code></a> and <a href="#tempDirectory(java.lang.String)"><code>tempDirectory(String)</code></a> setters instead. Round-trip |
| support for the runtime subtree is tracked as a follow-up. |
| |
| <p>Unknown keys or unparseable values are not validated here; they surface as a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" title="class or interface in java.lang" class="external-link"><code>RuntimeException</code></a> from <a href="#build()"><code>build()</code></a> carrying DataFusion's error message.</div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if <code>key</code> or <code>value</code> is <code>null</code>.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="setOptions(java.util.LinkedHashMap)"> |
| <h3>setOptions</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">setOptions</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/LinkedHashMap.html" title="class or interface in java.util" class="external-link">LinkedHashMap</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> entries)</span></div> |
| <div class="block">Apply every entry of <code>entries</code> via <a href="#setOption(java.lang.String,java.lang.String)"><code>setOption(String, String)</code></a>, in <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/LinkedHashMap.html" title="class or interface in java.util" class="external-link"><code>LinkedHashMap</code></a> insertion order. Use this overload when you need the strict last-write-wins |
| ordering guarantee for overlapping side-effect keys (e.g. <code> |
| datafusion.optimizer.enable_dynamic_filter_pushdown</code> rewrites the per-operator <code> |
| enable_*_dynamic_filter_pushdown</code> flags, so a per-operator override must come after the |
| umbrella).</div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if any key or value in <code>entries</code> is <code>null</code>.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="setOptions(java.util.Map)"> |
| <h3>setOptions</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">setOptions</span><wbr><span class="parameters">(<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link">Map</a><<a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>,<wbr><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/String.html" title="class or interface in java.lang" class="external-link">String</a>> entries)</span></div> |
| <div class="block">Apply every entry of <code>entries</code> via <a href="#setOption(java.lang.String,java.lang.String)"><code>setOption(String, String)</code></a>. Iterates in |
| whatever order the supplied <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Map.html" title="class or interface in java.util" class="external-link"><code>Map</code></a> produces, which for <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/HashMap.html" title="class or interface in java.util" class="external-link"><code>HashMap</code></a> or <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/util/Properties.html" title="class or interface in java.util" class="external-link"><code>Properties</code></a> is unspecified. |
| |
| <p>This is the right overload for the common case where the caller's keys don't overlap with |
| any upstream setter's side effects. If you do need order — see the <a href="#setOptions(java.util.LinkedHashMap)"><code>setOptions(LinkedHashMap)</code></a> overload, which the compiler will resolve to automatically when you |
| pass a <code>LinkedHashMap</code>.</div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if any key or value in <code>entries</code> is <code>null</code>.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="cacheManager(org.apache.datafusion.CacheManagerOptions)"> |
| <h3>cacheManager</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">cacheManager</span><wbr><span class="parameters">(<a href="CacheManagerOptions.html" title="class in org.apache.datafusion">CacheManagerOptions</a> options)</span></div> |
| <div class="block">Configure DataFusion's built-in <code>CacheManager</code> for the new context. Build the <a href="CacheManagerOptions.html" title="class in org.apache.datafusion"><code>CacheManagerOptions</code></a> via <a href="CacheManagerOptions.html#builder()"><code>CacheManagerOptions.builder()</code></a>; each cache slot is independent, |
| so leaving a setter unset keeps the upstream default in place. |
| |
| <p>Calling this setter twice replaces the previous configuration — there is no incremental |
| merge between calls. If you need a different cache configuration, build a new <code> |
| CacheManagerOptions</code> from scratch.</div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if <code>options</code> is <code>null</code>.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="withSparkFunctions()"> |
| <h3>withSparkFunctions</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">withSparkFunctions</span>()</div> |
| <div class="block">Register Apache Spark-compatible functions and expression planners on the new context, using |
| the <code>datafusion-spark</code> crate. Once enabled, Spark-compatible functions (e.g. <code> |
| crc32</code>) are callable from SQL and override any DataFusion built-in of the same name. |
| |
| <p>Requires the native library to be built with the <code>spark</code> Cargo feature, which is |
| enabled in the default build. If it is not, <a href="#build()"><code>build()</code></a> throws a <a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" title="class or interface in java.lang" class="external-link"><code>RuntimeException</code></a> |
| explaining the feature is missing.</div> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="registerObjectStore(org.apache.datafusion.ObjectStoreOptions)"> |
| <h3>registerObjectStore</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContextBuilder.html" title="class in org.apache.datafusion">SessionContextBuilder</a></span> <span class="element-name">registerObjectStore</span><wbr><span class="parameters">(<a href="ObjectStoreOptions.html" title="class in org.apache.datafusion">ObjectStoreOptions</a> options)</span></div> |
| <div class="block">Register an <code>object_store::ObjectStore</code> backend on the new context's <code>RuntimeEnv</code>. |
| Build <a href="ObjectStoreOptions.html" title="class in org.apache.datafusion"><code>ObjectStoreOptions</code></a> via the per-backend factories (<a href="ObjectStoreOptions.html#s3()"><code>ObjectStoreOptions.s3()</code></a>, |
| <a href="ObjectStoreOptions.html#gcs()"><code>ObjectStoreOptions.gcs()</code></a>, <a href="ObjectStoreOptions.html#http(java.lang.String)"><code>ObjectStoreOptions.http(String)</code></a>). The store is |
| reachable inside the resulting <a href="SessionContext.html" title="class in org.apache.datafusion"><code>SessionContext</code></a> by URL — e.g. once an S3 store is |
| registered for <code>my-bucket</code>, <code>ctx.registerParquet("orders", |
| "s3://my-bucket/orders/")</code> will resolve through it. |
| |
| <p>Multiple registrations are applied in the order added; if two registrations resolve to the |
| same URL, the later one wins (matching upstream <code>RuntimeEnv::register_object_store</code>). |
| |
| <p>If the underlying <code>object_store</code> cloud-backend Cargo feature is not built into the |
| native library, <a href="#build()"><code>build()</code></a> surfaces a clear error rather than silently dropping the |
| registration. The default <code>make</code> build enables all three backends (S3 / GCS / HTTP).</div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalArgumentException.html" title="class or interface in java.lang" class="external-link">IllegalArgumentException</a></code> - if <code>options</code> is <code>null</code>.</dd> |
| </dl> |
| </section> |
| </li> |
| <li> |
| <section class="detail" id="build()"> |
| <h3>build</h3> |
| <div class="member-signature"><span class="modifiers">public</span> <span class="return-type"><a href="SessionContext.html" title="class in org.apache.datafusion">SessionContext</a></span> <span class="element-name">build</span>()</div> |
| <div class="block">Construct a <a href="SessionContext.html" title="class in org.apache.datafusion"><code>SessionContext</code></a> with the configured options.</div> |
| <dl class="notes"> |
| <dt>Throws:</dt> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/IllegalStateException.html" title="class or interface in java.lang" class="external-link">IllegalStateException</a></code> - if <a href="#disableSpill()"><code>disableSpill()</code></a> was called alongside <a href="#tempDirectory(java.lang.String)"><code>tempDirectory(String)</code></a> — the combination is contradictory.</dd> |
| <dd><code><a href="https://docs.oracle.com/en/java/javase/17/docs/api/java.base/java/lang/RuntimeException.html" title="class or interface in java.lang" class="external-link">RuntimeException</a></code> - if the native side fails to construct the context.</dd> |
| </dl> |
| </section> |
| </li> |
| </ul> |
| </section> |
| </li> |
| </ul> |
| </section> |
| <!-- ========= END OF CLASS DATA ========= --> |
| </main> |
| <footer role="contentinfo"> |
| <hr> |
| <p class="legal-copy"><small>Copyright © 2026. All rights reserved.</small></p> |
| </footer> |
| </div> |
| </div> |
| </body> |
| </html> |