blob: 3412b07b17b8dfc4b8fbbb6817d0882fa714a00f [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" data-content_root="../" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Table &#8212; Apache Arrow v22.0.0</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css?v=03e43079" />
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css?v=76b2166b" />
<link rel="stylesheet" type="text/css" href="../_static/sphinx-design.min.css?v=95c83b7e" />
<link rel="stylesheet" type="text/css" href="../_static/theme_overrides.css?v=8dcd28dc" />
<!-- So that users can add custom icons -->
<script src="../_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<script src="../_static/documentation_options.js?v=687e4bc6"></script>
<script src="../_static/doctools.js?v=9bcbadda"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<script src="../_static/clipboard.min.js?v=a7894cd8"></script>
<script src="../_static/copybutton.js?v=3bb21c8c"></script>
<script src="../_static/design-tabs.js?v=f930bc37"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'java/table';</script>
<script>
DOCUMENTATION_OPTIONS.theme_version = '0.16.1';
DOCUMENTATION_OPTIONS.theme_switcher_json_url = '/docs/_static/versions.json';
DOCUMENTATION_OPTIONS.theme_switcher_version_match = '';
DOCUMENTATION_OPTIONS.show_version_warning_banner =
false;
</script>
<link rel="canonical" href="https://arrow.apache.org/docs/java/table.html" />
<link rel="icon" href="../_static/favicon.ico"/>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Reading/Writing IPC formats" href="ipc.html" />
<link rel="prev" title="Tabular Data" href="vector_schema_root.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="22.0.0" />
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '20']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
</head>
<body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
<div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div>
<div id="pst-scroll-pixel-helper"></div>
<button type="button" class="btn rounded-pill" id="pst-back-to-top">
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<form class="bd-search d-flex align-items-center"
action="../search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
placeholder="Search the docs ..."
aria-label="Search the docs ..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
</div>
<header class="bd-header navbar navbar-expand-lg bd-navbar d-print-none">
<div class="bd-header__inner bd-page-width">
<button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation">
<span class="fa-solid fa-bars"></span>
</button>
<div class=" navbar-header-items__start">
<div class="navbar-item">
<a class="navbar-brand logo" href="../index.html">
<img src="../_static/arrow.png" class="logo__image only-light" alt="Apache Arrow v22.0.0 - Home"/>
<img src="../_static/arrow-dark.png" class="logo__image only-dark pst-js-only" alt="Apache Arrow v22.0.0 - Home"/>
</a></div>
</div>
<div class=" navbar-header-items">
<div class="me-auto navbar-header-items__center">
<div class="navbar-item">
<nav>
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item ">
<a class="nav-link nav-internal" href="../format/index.html">
Specifications
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="../developers/index.html">
Development
</a>
</li>
<li class="nav-item current active">
<a class="nav-link nav-internal" href="../implementations.html">
Implementations
</a>
</li>
</ul>
</nav></div>
</div>
<div class="navbar-header-items__end">
<div class="navbar-item navbar-persistent--container">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<div class="navbar-item"><div class="kapa-ai-bot">
<script
async
src="https://widget.kapa.ai/kapa-widget.bundle.js"
data-website-id="9db461d5-ac77-4b3f-a5c5-75efa78339d2"
data-project-name="Apache Arrow"
data-project-color="#000000"
data-project-logo="https://arrow.apache.org/img/arrow-logo_chevrons_white-txt_black-bg.png"
data-modal-disclaimer="This is a custom LLM with access to all [Arrow documentation](https://arrow.apache.org/docs/). Please include the language you are using in your question, e.g., Python, C++, Java, R, etc."
data-consent-required="true"
data-user-analytics-cookie-enabled="false"
data-consent-screen-disclaimer="By clicking &quot;I agree, let's chat&quot;, you consent to the use of the AI assistant in accordance with kapa.ai's [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google's [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai's and Google's privacy policies."
></script>
</div>
</div>
<div class="navbar-item">
<div class="version-switcher__container dropdown pst-js-only">
<button id="pst-version-switcher-button-2"
type="button"
class="version-switcher__button btn btn-sm dropdown-toggle"
data-bs-toggle="dropdown"
aria-haspopup="listbox"
aria-controls="pst-version-switcher-list-2"
aria-label="Version switcher list"
>
Choose version <!-- this text may get changed later by javascript -->
<span class="caret"></span>
</button>
<div id="pst-version-switcher-list-2"
class="version-switcher__menu dropdown-menu list-group-flush py-0"
role="listbox" aria-labelledby="pst-version-switcher-button-2">
<!-- dropdown will be populated by javascript on page load -->
</div>
</div></div>
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
<div class="navbar-item"><ul class="navbar-icon-links"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://www.linkedin.com/company/apache-arrow/" title="LinkedIn" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-linkedin fa-lg" aria-hidden="true"></i>
<span class="sr-only">LinkedIn</span></a>
</li>
<li class="nav-item">
<a href="https://bsky.app/profile/arrow.apache.org" title="BlueSky" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-bluesky fa-lg" aria-hidden="true"></i>
<span class="sr-only">BlueSky</span></a>
</li>
</ul></div>
</div>
</div>
<div class="navbar-persistent--mobile">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<button class="pst-navbar-icon sidebar-toggle secondary-toggle" aria-label="On this page">
<span class="fa-solid fa-outdent"></span>
</button>
</div>
</header>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="sidebar-header-items sidebar-primary__section">
<div class="sidebar-header-items__center">
<div class="navbar-item">
<nav>
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item ">
<a class="nav-link nav-internal" href="../format/index.html">
Specifications
</a>
</li>
<li class="nav-item ">
<a class="nav-link nav-internal" href="../developers/index.html">
Development
</a>
</li>
<li class="nav-item current active">
<a class="nav-link nav-internal" href="../implementations.html">
Implementations
</a>
</li>
</ul>
</nav></div>
</div>
<div class="sidebar-header-items__end">
<div class="navbar-item"><div class="kapa-ai-bot">
<script
async
src="https://widget.kapa.ai/kapa-widget.bundle.js"
data-website-id="9db461d5-ac77-4b3f-a5c5-75efa78339d2"
data-project-name="Apache Arrow"
data-project-color="#000000"
data-project-logo="https://arrow.apache.org/img/arrow-logo_chevrons_white-txt_black-bg.png"
data-modal-disclaimer="This is a custom LLM with access to all [Arrow documentation](https://arrow.apache.org/docs/). Please include the language you are using in your question, e.g., Python, C++, Java, R, etc."
data-consent-required="true"
data-user-analytics-cookie-enabled="false"
data-consent-screen-disclaimer="By clicking &quot;I agree, let's chat&quot;, you consent to the use of the AI assistant in accordance with kapa.ai's [Privacy Policy](https://www.kapa.ai/content/privacy-policy). This service uses reCAPTCHA, which requires your consent to Google's [Privacy Policy](https://policies.google.com/privacy) and [Terms of Service](https://policies.google.com/terms). By proceeding, you explicitly agree to both kapa.ai's and Google's privacy policies."
></script>
</div>
</div>
<div class="navbar-item">
<div class="version-switcher__container dropdown pst-js-only">
<button id="pst-version-switcher-button-3"
type="button"
class="version-switcher__button btn btn-sm dropdown-toggle"
data-bs-toggle="dropdown"
aria-haspopup="listbox"
aria-controls="pst-version-switcher-list-3"
aria-label="Version switcher list"
>
Choose version <!-- this text may get changed later by javascript -->
<span class="caret"></span>
</button>
<div id="pst-version-switcher-list-3"
class="version-switcher__menu dropdown-menu list-group-flush py-0"
role="listbox" aria-labelledby="pst-version-switcher-button-3">
<!-- dropdown will be populated by javascript on page load -->
</div>
</div></div>
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
<div class="navbar-item"><ul class="navbar-icon-links"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://www.linkedin.com/company/apache-arrow/" title="LinkedIn" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-linkedin fa-lg" aria-hidden="true"></i>
<span class="sr-only">LinkedIn</span></a>
</li>
<li class="nav-item">
<a href="https://bsky.app/profile/arrow.apache.org" title="BlueSky" class="nav-link pst-navbar-icon" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><i class="fa-brands fa-bluesky fa-lg" aria-hidden="true"></i>
<span class="sr-only">BlueSky</span></a>
</li>
</ul></div>
</div>
</div>
<div class="sidebar-primary-items__start sidebar-primary__section">
<div class="sidebar-primary-item">
<nav class="bd-docs-nav bd-links"
aria-label="Section Navigation">
<p class="bd-links__title" role="heading" aria-level="1">Section Navigation</p>
<div class="bd-toc-item navbar-nav"><ul class="current nav bd-sidenav">
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/dotnet/">.NET</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../cpp/index.html">C++</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2 has-children"><a class="reference internal" href="../cpp/getting_started.html">Getting Started</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../cpp/build_system.html">Using Arrow C++ in your own project</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/conventions.html">Conventions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/tutorials/basic_arrow.html">Basic Arrow Data Structures</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/tutorials/io_tutorial.html">Arrow File I/O</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/tutorials/compute_tutorial.html">Arrow Compute</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/tutorials/datasets_tutorial.html">Arrow Datasets</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../cpp/user_guide.html">User Guide</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../cpp/overview.html">High-Level Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/memory.html">Memory Management</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/arrays.html">Arrays</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/datatypes.html">Data Types</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/tables.html">Tabular Data</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/compute.html">Compute Functions</a></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../cpp/gandiva.html">The Gandiva Expression Compiler</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../cpp/gandiva/expr_projector_filter.html">Gandiva Expression, Projector, and Filter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../cpp/gandiva/external_func.html">Gandiva External Functions Development Guide</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../cpp/acero.html">Acero: A C++ streaming execution engine</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../cpp/acero/overview.html">Acero Overview</a></li>
<li class="toctree-l4"><a class="reference internal" href="../cpp/acero/user_guide.html">Acero User’s Guide</a></li>
<li class="toctree-l4"><a class="reference internal" href="../cpp/acero/substrait.html">Using Acero with Substrait</a></li>
</ul>
</details></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/io.html">Input / output and filesystems</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/ipc.html">Reading and writing the Arrow IPC format</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/orc.html">Reading and Writing ORC files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/parquet.html">Reading and writing Parquet files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/csv.html">Reading and Writing CSV files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/json.html">Reading JSON files</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/dataset.html">Tabular Datasets</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/gdb.html">Debugging code using Arrow</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/threading.html">Thread Management</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/opentelemetry.html">OpenTelemetry</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/env_vars.html">Environment Variables</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../cpp/examples/index.html">Examples</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../cpp/examples/cmake_minimal_build.html">Minimal build using CMake</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/examples/compute_and_write_example.html">Compute and Write CSV Example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/examples/dataset_documentation_example.html">Arrow Datasets example</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/examples/parquet_column_encryption.html">Parquet column encryption</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/examples/row_columnar_conversion.html">Row to columnar conversion</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/examples/tuple_range_conversion.html">std::tuple-like ranges to Arrow</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/examples/converting_recordbatch_to_tensor.html">Converting RecordBatch to Tensor</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../cpp/api.html">API Reference</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/support.html">Programming Support</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/memory.html">Memory (management)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/thread.html">Thread (management)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/datatype.html">Data Types</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/array.html">Arrays</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/extension.html">Extension</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/scalar.html">Scalars</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/builder.html">Array Builders</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/table.html">Two-dimensional Datasets</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/c_abi.html">C Interfaces</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/compute.html">Compute Functions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/acero.html">Streaming Execution (Acero)</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/gandiva.html">Gandiva Expression Compiler</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/tensor.html">Tensors</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/utilities.html">Utilities</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/async.html">Asynchronous programming</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/io.html">Input / output</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/ipc.html">Arrow IPC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/formats.html">File Formats</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/cuda.html">CUDA support</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/flightsql.html">Arrow Flight SQL</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/filesystem.html">Filesystems</a></li>
<li class="toctree-l3"><a class="reference internal" href="../cpp/api/dataset.html">Dataset</a></li>
</ul>
</details></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../developers/cpp/index.html">C++ Development</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../developers/cpp/building.html">Building Arrow C++</a></li>
<li class="toctree-l3"><a class="reference internal" href="../developers/cpp/development.html">Development Guidelines</a></li>
<li class="toctree-l3"><a class="reference internal" href="../developers/cpp/windows.html">Developing on Windows</a></li>
<li class="toctree-l3"><a class="reference internal" href="../developers/cpp/emscripten.html">Cross compiling for WebAssembly with Emscripten</a></li>
<li class="toctree-l3"><a class="reference internal" href="../developers/cpp/conventions.html">Conventions</a></li>
<li class="toctree-l3"><a class="reference internal" href="../developers/cpp/fuzzing.html">Fuzzing Arrow C++</a></li>
<li class="toctree-l3"><a class="reference internal" href="../developers/cpp/compute.html">Developing Arrow C++ Compute</a></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../developers/cpp/acero.html">Developing Acero</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../developers/cpp/acero/swiss_table.html">Swiss Table</a></li>
</ul>
</details></li>
</ul>
</details></li>
<li class="toctree-l2"><a class="reference external" href="https://arrow.apache.org/cookbook/cpp/">C++ Cookbook</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../c_glib/index.html">C GLib</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../c_glib/arrow-glib/index.html">Apache Arrow GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../c_glib/arrow-cuda-glib/index.html">Apache Arrow CUDA GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../c_glib/arrow-dataset-glib/index.html">Apache Arrow Dataset</a></li>
<li class="toctree-l2"><a class="reference internal" href="../c_glib/arrow-flight-glib/index.html">Apache Arrow Flight GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../c_glib/arrow-flight-sql-glib/index.html">Apache Arrow Flight SQL GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../c_glib/parquet-glib/index.html">Apache Parquet GLib</a></li>
<li class="toctree-l2"><a class="reference internal" href="../c_glib/gandiva-glib/index.html">Gandiva GLib</a></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/go/">Go</a></li>
<li class="toctree-l1 current active has-children"><a class="reference internal" href="index.html">Java</a><details open="open"><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul class="current">
<li class="toctree-l2"><a class="reference internal" href="quickstartguide.html">Quick Start Guide</a></li>
<li class="toctree-l2"><a class="reference internal" href="overview.html">High-Level Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="install.html">Installing Java Modules</a></li>
<li class="toctree-l2"><a class="reference internal" href="memory.html">Memory Management</a></li>
<li class="toctree-l2"><a class="reference internal" href="vector.html">ValueVector</a></li>
<li class="toctree-l2"><a class="reference internal" href="vector_schema_root.html">Tabular Data</a></li>
<li class="toctree-l2 current active"><a class="current reference internal" href="#">Table</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipc.html">Reading/Writing IPC formats</a></li>
<li class="toctree-l2"><a class="reference internal" href="algorithm.html">Java Algorithms</a></li>
<li class="toctree-l2"><a class="reference internal" href="flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="flight_sql.html">Arrow Flight SQL</a></li>
<li class="toctree-l2"><a class="reference internal" href="flight_sql_jdbc_driver.html">Arrow Flight SQL JDBC Driver</a></li>
<li class="toctree-l2"><a class="reference internal" href="dataset.html">Dataset</a></li>
<li class="toctree-l2"><a class="reference internal" href="substrait.html">Substrait</a></li>
<li class="toctree-l2"><a class="reference internal" href="cdata.html">C Data Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="jdbc.html">Arrow JDBC Adapter</a></li>
<li class="toctree-l2"><a class="reference internal" href="reference/index.html">Reference (javadoc)</a></li>
<li class="toctree-l2"><a class="reference external" href="https://arrow.apache.org/cookbook/java/">Java cookbook</a></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/js/current/">JavaScript</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/julia/">Julia</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/arrow/blob/main/matlab/README.md">MATLAB</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="../python/index.html">Python</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="../python/install.html">Installing PyArrow</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/getstarted.html">Getting Started</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/data.html">Data Types and In-Memory Data Model</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/compute.html">Compute Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/memory.html">Memory and IO Interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/ipc.html">Streaming, Serialization, and IPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/filesystems.html">Filesystem Interface</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/numpy.html">NumPy Integration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/pandas.html">Pandas Integration</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/interchange_protocol.html">Dataframe Interchange Protocol</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/dlpack.html">The DLPack Protocol</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/timestamps.html">Timestamps</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/orc.html">Reading and Writing the Apache ORC Format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/csv.html">Reading and Writing CSV files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/feather.html">Feather File Format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/json.html">Reading JSON files</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/parquet.html">Reading and Writing the Apache Parquet Format</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/dataset.html">Tabular Datasets</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/extending_types.html">Extending PyArrow</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../python/integration.html">PyArrow Integrations</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3"><a class="reference internal" href="../python/integration/substrait.html">Substrait</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/integration/python_r.html">Integrating PyArrow with R</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/integration/python_java.html">Integrating PyArrow with Java</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/integration/extending.html">Using pyarrow from C++ and Cython Code</a></li>
<li class="toctree-l3"><a class="reference internal" href="../python/integration/cuda.html">CUDA Integration</a></li>
</ul>
</details></li>
<li class="toctree-l2"><a class="reference internal" href="../python/env_vars.html">Environment Variables</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="../python/api.html">API Reference</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/datatypes.html">Data Types and Schemas</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.null.html">pyarrow.null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.bool_.html">pyarrow.bool_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.int8.html">pyarrow.int8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.int16.html">pyarrow.int16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.int32.html">pyarrow.int32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.int64.html">pyarrow.int64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.uint8.html">pyarrow.uint8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.uint16.html">pyarrow.uint16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.uint32.html">pyarrow.uint32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.uint64.html">pyarrow.uint64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.float16.html">pyarrow.float16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.float32.html">pyarrow.float32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.float64.html">pyarrow.float64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.time32.html">pyarrow.time32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.time64.html">pyarrow.time64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.timestamp.html">pyarrow.timestamp</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.date32.html">pyarrow.date32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.date64.html">pyarrow.date64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.duration.html">pyarrow.duration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.month_day_nano_interval.html">pyarrow.month_day_nano_interval</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.binary.html">pyarrow.binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.string.html">pyarrow.string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.utf8.html">pyarrow.utf8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.large_binary.html">pyarrow.large_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.large_string.html">pyarrow.large_string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.large_utf8.html">pyarrow.large_utf8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.binary_view.html">pyarrow.binary_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.string_view.html">pyarrow.string_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.decimal128.html">pyarrow.decimal128</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.decimal256.html">pyarrow.decimal256</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.list_.html">pyarrow.list_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.large_list.html">pyarrow.large_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.list_view.html">pyarrow.list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.large_list_view.html">pyarrow.large_list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.map_.html">pyarrow.map_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.struct.html">pyarrow.struct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dictionary.html">pyarrow.dictionary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.run_end_encoded.html">pyarrow.run_end_encoded</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fixed_shape_tensor.html">pyarrow.fixed_shape_tensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.union.html">pyarrow.union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dense_union.html">pyarrow.dense_union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.sparse_union.html">pyarrow.sparse_union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.opaque.html">pyarrow.opaque</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.bool8.html">pyarrow.bool8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.uuid.html">pyarrow.uuid</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.json_.html">pyarrow.json_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.field.html">pyarrow.field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.schema.html">pyarrow.schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.from_numpy_dtype.html">pyarrow.from_numpy_dtype</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.unify_schemas.html">pyarrow.unify_schemas</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.DataType.html">pyarrow.DataType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.DictionaryType.html">pyarrow.DictionaryType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ListType.html">pyarrow.ListType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ListViewType.html">pyarrow.ListViewType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FixedSizeListType.html">pyarrow.FixedSizeListType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.LargeListType.html">pyarrow.LargeListType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.LargeListViewType.html">pyarrow.LargeListViewType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.MapType.html">pyarrow.MapType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.StructType.html">pyarrow.StructType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UnionType.html">pyarrow.UnionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.DenseUnionType.html">pyarrow.DenseUnionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.SparseUnionType.html">pyarrow.SparseUnionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.TimestampType.html">pyarrow.TimestampType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Time32Type.html">pyarrow.Time32Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Time64Type.html">pyarrow.Time64Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.DurationType.html">pyarrow.DurationType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FixedSizeBinaryType.html">pyarrow.FixedSizeBinaryType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Decimal32Type.html">pyarrow.Decimal32Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Decimal64Type.html">pyarrow.Decimal64Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Decimal128Type.html">pyarrow.Decimal128Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Decimal256Type.html">pyarrow.Decimal256Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Field.html">pyarrow.Field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Schema.html">pyarrow.Schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.RunEndEncodedType.html">pyarrow.RunEndEncodedType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.BaseExtensionType.html">pyarrow.BaseExtensionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ExtensionType.html">pyarrow.ExtensionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UnknownExtensionType.html">pyarrow.UnknownExtensionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.register_extension_type.html">pyarrow.register_extension_type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.unregister_extension_type.html">pyarrow.unregister_extension_type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FixedShapeTensorType.html">pyarrow.FixedShapeTensorType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.OpaqueType.html">pyarrow.OpaqueType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.JsonType.html">pyarrow.JsonType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UuidType.html">pyarrow.UuidType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Bool8Type.html">pyarrow.Bool8Type</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_boolean.html">pyarrow.types.is_boolean</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_integer.html">pyarrow.types.is_integer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_signed_integer.html">pyarrow.types.is_signed_integer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_unsigned_integer.html">pyarrow.types.is_unsigned_integer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_int8.html">pyarrow.types.is_int8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_int16.html">pyarrow.types.is_int16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_int32.html">pyarrow.types.is_int32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_int64.html">pyarrow.types.is_int64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_uint8.html">pyarrow.types.is_uint8</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_uint16.html">pyarrow.types.is_uint16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_uint32.html">pyarrow.types.is_uint32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_uint64.html">pyarrow.types.is_uint64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_floating.html">pyarrow.types.is_floating</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_float16.html">pyarrow.types.is_float16</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_float32.html">pyarrow.types.is_float32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_float64.html">pyarrow.types.is_float64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_decimal.html">pyarrow.types.is_decimal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_decimal128.html">pyarrow.types.is_decimal128</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_decimal256.html">pyarrow.types.is_decimal256</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_list.html">pyarrow.types.is_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_large_list.html">pyarrow.types.is_large_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_fixed_size_list.html">pyarrow.types.is_fixed_size_list</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_list_view.html">pyarrow.types.is_list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_large_list_view.html">pyarrow.types.is_large_list_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_struct.html">pyarrow.types.is_struct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_union.html">pyarrow.types.is_union</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_nested.html">pyarrow.types.is_nested</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_run_end_encoded.html">pyarrow.types.is_run_end_encoded</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_temporal.html">pyarrow.types.is_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_timestamp.html">pyarrow.types.is_timestamp</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_date.html">pyarrow.types.is_date</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_date32.html">pyarrow.types.is_date32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_date64.html">pyarrow.types.is_date64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_time.html">pyarrow.types.is_time</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_time32.html">pyarrow.types.is_time32</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_time64.html">pyarrow.types.is_time64</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_duration.html">pyarrow.types.is_duration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_interval.html">pyarrow.types.is_interval</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_null.html">pyarrow.types.is_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_binary.html">pyarrow.types.is_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_unicode.html">pyarrow.types.is_unicode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_string.html">pyarrow.types.is_string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_large_binary.html">pyarrow.types.is_large_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_large_unicode.html">pyarrow.types.is_large_unicode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_large_string.html">pyarrow.types.is_large_string</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_binary_view.html">pyarrow.types.is_binary_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_string_view.html">pyarrow.types.is_string_view</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_fixed_size_binary.html">pyarrow.types.is_fixed_size_binary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_map.html">pyarrow.types.is_map</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_dictionary.html">pyarrow.types.is_dictionary</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.is_primitive.html">pyarrow.types.is_primitive</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.types.TypesEnum.html">pyarrow.types.TypesEnum</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/arrays.html">Arrays and Scalars</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.array.html">pyarrow.array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.nulls.html">pyarrow.nulls</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Array.html">pyarrow.Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.BooleanArray.html">pyarrow.BooleanArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FloatingPointArray.html">pyarrow.FloatingPointArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.IntegerArray.html">pyarrow.IntegerArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Int8Array.html">pyarrow.Int8Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Int16Array.html">pyarrow.Int16Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Int32Array.html">pyarrow.Int32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Int64Array.html">pyarrow.Int64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.NullArray.html">pyarrow.NullArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.NumericArray.html">pyarrow.NumericArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UInt8Array.html">pyarrow.UInt8Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UInt16Array.html">pyarrow.UInt16Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UInt32Array.html">pyarrow.UInt32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UInt64Array.html">pyarrow.UInt64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.HalfFloatArray.html">pyarrow.HalfFloatArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FloatArray.html">pyarrow.FloatArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.DoubleArray.html">pyarrow.DoubleArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.BinaryArray.html">pyarrow.BinaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.StringArray.html">pyarrow.StringArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FixedSizeBinaryArray.html">pyarrow.FixedSizeBinaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.LargeBinaryArray.html">pyarrow.LargeBinaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.LargeStringArray.html">pyarrow.LargeStringArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.BinaryViewArray.html">pyarrow.BinaryViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.StringViewArray.html">pyarrow.StringViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Time32Array.html">pyarrow.Time32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Time64Array.html">pyarrow.Time64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Date32Array.html">pyarrow.Date32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Date64Array.html">pyarrow.Date64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.TimestampArray.html">pyarrow.TimestampArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.DurationArray.html">pyarrow.DurationArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.MonthDayNanoIntervalArray.html">pyarrow.MonthDayNanoIntervalArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Decimal32Array.html">pyarrow.Decimal32Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Decimal64Array.html">pyarrow.Decimal64Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Decimal128Array.html">pyarrow.Decimal128Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Decimal256Array.html">pyarrow.Decimal256Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.DictionaryArray.html">pyarrow.DictionaryArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ListArray.html">pyarrow.ListArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FixedSizeListArray.html">pyarrow.FixedSizeListArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.LargeListArray.html">pyarrow.LargeListArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ListViewArray.html">pyarrow.ListViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.LargeListViewArray.html">pyarrow.LargeListViewArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.MapArray.html">pyarrow.MapArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.RunEndEncodedArray.html">pyarrow.RunEndEncodedArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.StructArray.html">pyarrow.StructArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UnionArray.html">pyarrow.UnionArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ExtensionArray.html">pyarrow.ExtensionArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FixedShapeTensorArray.html">pyarrow.FixedShapeTensorArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.OpaqueArray.html">pyarrow.OpaqueArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.JsonArray.html">pyarrow.JsonArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UuidArray.html">pyarrow.UuidArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Bool8Array.html">pyarrow.Bool8Array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.scalar.html">pyarrow.scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.NA.html">pyarrow.NA</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Scalar.html">pyarrow.Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.BooleanScalar.html">pyarrow.BooleanScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Int8Scalar.html">pyarrow.Int8Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Int16Scalar.html">pyarrow.Int16Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Int32Scalar.html">pyarrow.Int32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Int64Scalar.html">pyarrow.Int64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.NullScalar.html">pyarrow.NullScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UInt8Scalar.html">pyarrow.UInt8Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UInt16Scalar.html">pyarrow.UInt16Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UInt32Scalar.html">pyarrow.UInt32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UInt64Scalar.html">pyarrow.UInt64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.HalfFloatScalar.html">pyarrow.HalfFloatScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FloatScalar.html">pyarrow.FloatScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.DoubleScalar.html">pyarrow.DoubleScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.BinaryScalar.html">pyarrow.BinaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.StringScalar.html">pyarrow.StringScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FixedSizeBinaryScalar.html">pyarrow.FixedSizeBinaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.LargeBinaryScalar.html">pyarrow.LargeBinaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.LargeStringScalar.html">pyarrow.LargeStringScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.BinaryViewScalar.html">pyarrow.BinaryViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.StringViewScalar.html">pyarrow.StringViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Time32Scalar.html">pyarrow.Time32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Time64Scalar.html">pyarrow.Time64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Date32Scalar.html">pyarrow.Date32Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Date64Scalar.html">pyarrow.Date64Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.TimestampScalar.html">pyarrow.TimestampScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.DurationScalar.html">pyarrow.DurationScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.MonthDayNanoIntervalScalar.html">pyarrow.MonthDayNanoIntervalScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Decimal128Scalar.html">pyarrow.Decimal128Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Decimal256Scalar.html">pyarrow.Decimal256Scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.DictionaryScalar.html">pyarrow.DictionaryScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.RunEndEncodedScalar.html">pyarrow.RunEndEncodedScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ListScalar.html">pyarrow.ListScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FixedSizeListScalar.html">pyarrow.FixedSizeListScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.LargeListScalar.html">pyarrow.LargeListScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ListViewScalar.html">pyarrow.ListViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.LargeListViewScalar.html">pyarrow.LargeListViewScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.MapScalar.html">pyarrow.MapScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.StructScalar.html">pyarrow.StructScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UnionScalar.html">pyarrow.UnionScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ExtensionScalar.html">pyarrow.ExtensionScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FixedShapeTensorScalar.html">pyarrow.FixedShapeTensorScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.OpaqueScalar.html">pyarrow.OpaqueScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.JsonScalar.html">pyarrow.JsonScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.UuidScalar.html">pyarrow.UuidScalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Bool8Scalar.html">pyarrow.Bool8Scalar</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/memory.html">Buffers and Memory</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.allocate_buffer.html">pyarrow.allocate_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.py_buffer.html">pyarrow.py_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.foreign_buffer.html">pyarrow.foreign_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Buffer.html">pyarrow.Buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ResizableBuffer.html">pyarrow.ResizableBuffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Codec.html">pyarrow.Codec</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compress.html">pyarrow.compress</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.decompress.html">pyarrow.decompress</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.MemoryPool.html">pyarrow.MemoryPool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.default_memory_pool.html">pyarrow.default_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.jemalloc_memory_pool.html">pyarrow.jemalloc_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.mimalloc_memory_pool.html">pyarrow.mimalloc_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.system_memory_pool.html">pyarrow.system_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.jemalloc_set_decay_ms.html">pyarrow.jemalloc_set_decay_ms</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.set_memory_pool.html">pyarrow.set_memory_pool</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.log_memory_allocations.html">pyarrow.log_memory_allocations</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.total_allocated_bytes.html">pyarrow.total_allocated_bytes</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/tables.html">Tables and Tensors</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.chunked_array.html">pyarrow.chunked_array</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.concat_arrays.html">pyarrow.concat_arrays</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.concat_tables.html">pyarrow.concat_tables</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.record_batch.html">pyarrow.record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.concat_batches.html">pyarrow.concat_batches</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.table.html">pyarrow.table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ChunkedArray.html">pyarrow.ChunkedArray</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.RecordBatch.html">pyarrow.RecordBatch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Table.html">pyarrow.Table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.TableGroupBy.html">pyarrow.TableGroupBy</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.RecordBatchReader.html">pyarrow.RecordBatchReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.interchange.from_dataframe.html">pyarrow.interchange.from_dataframe</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.Tensor.html">pyarrow.Tensor</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/compute.html">Compute Functions</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.all.html">pyarrow.compute.all</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.any.html">pyarrow.compute.any</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.approximate_median.html">pyarrow.compute.approximate_median</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.count.html">pyarrow.compute.count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.count_distinct.html">pyarrow.compute.count_distinct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.index.html">pyarrow.compute.index</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.max.html">pyarrow.compute.max</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.mean.html">pyarrow.compute.mean</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.min.html">pyarrow.compute.min</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.min_max.html">pyarrow.compute.min_max</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.mode.html">pyarrow.compute.mode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.pivot_wider.html">pyarrow.compute.pivot_wider</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.product.html">pyarrow.compute.product</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.quantile.html">pyarrow.compute.quantile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.stddev.html">pyarrow.compute.stddev</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.sum.html">pyarrow.compute.sum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.tdigest.html">pyarrow.compute.tdigest</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.variance.html">pyarrow.compute.variance</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.cumulative_sum.html">pyarrow.compute.cumulative_sum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.cumulative_sum_checked.html">pyarrow.compute.cumulative_sum_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.cumulative_prod.html">pyarrow.compute.cumulative_prod</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.cumulative_prod_checked.html">pyarrow.compute.cumulative_prod_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.cumulative_max.html">pyarrow.compute.cumulative_max</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.cumulative_min.html">pyarrow.compute.cumulative_min</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.abs.html">pyarrow.compute.abs</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.abs_checked.html">pyarrow.compute.abs_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.add.html">pyarrow.compute.add</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.add_checked.html">pyarrow.compute.add_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.divide.html">pyarrow.compute.divide</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.divide_checked.html">pyarrow.compute.divide_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.multiply.html">pyarrow.compute.multiply</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.multiply_checked.html">pyarrow.compute.multiply_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.negate.html">pyarrow.compute.negate</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.negate_checked.html">pyarrow.compute.negate_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.power.html">pyarrow.compute.power</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.power_checked.html">pyarrow.compute.power_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.sign.html">pyarrow.compute.sign</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.sqrt.html">pyarrow.compute.sqrt</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.sqrt_checked.html">pyarrow.compute.sqrt_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.subtract.html">pyarrow.compute.subtract</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.subtract_checked.html">pyarrow.compute.subtract_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.bit_wise_and.html">pyarrow.compute.bit_wise_and</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.bit_wise_not.html">pyarrow.compute.bit_wise_not</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.bit_wise_or.html">pyarrow.compute.bit_wise_or</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.bit_wise_xor.html">pyarrow.compute.bit_wise_xor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.shift_left.html">pyarrow.compute.shift_left</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.shift_left_checked.html">pyarrow.compute.shift_left_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.shift_right.html">pyarrow.compute.shift_right</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.shift_right_checked.html">pyarrow.compute.shift_right_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ceil.html">pyarrow.compute.ceil</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.floor.html">pyarrow.compute.floor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.round.html">pyarrow.compute.round</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.round_to_multiple.html">pyarrow.compute.round_to_multiple</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.trunc.html">pyarrow.compute.trunc</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ln.html">pyarrow.compute.ln</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ln_checked.html">pyarrow.compute.ln_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.log10.html">pyarrow.compute.log10</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.log10_checked.html">pyarrow.compute.log10_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.log1p.html">pyarrow.compute.log1p</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.log1p_checked.html">pyarrow.compute.log1p_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.log2.html">pyarrow.compute.log2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.log2_checked.html">pyarrow.compute.log2_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.logb.html">pyarrow.compute.logb</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.logb_checked.html">pyarrow.compute.logb_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.acos.html">pyarrow.compute.acos</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.acos_checked.html">pyarrow.compute.acos_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.asin.html">pyarrow.compute.asin</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.asin_checked.html">pyarrow.compute.asin_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.atan.html">pyarrow.compute.atan</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.atan2.html">pyarrow.compute.atan2</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.cos.html">pyarrow.compute.cos</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.cos_checked.html">pyarrow.compute.cos_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.sin.html">pyarrow.compute.sin</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.sin_checked.html">pyarrow.compute.sin_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.tan.html">pyarrow.compute.tan</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.tan_checked.html">pyarrow.compute.tan_checked</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.equal.html">pyarrow.compute.equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.greater.html">pyarrow.compute.greater</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.greater_equal.html">pyarrow.compute.greater_equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.less.html">pyarrow.compute.less</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.less_equal.html">pyarrow.compute.less_equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.not_equal.html">pyarrow.compute.not_equal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.max_element_wise.html">pyarrow.compute.max_element_wise</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.min_element_wise.html">pyarrow.compute.min_element_wise</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.and_.html">pyarrow.compute.and_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.and_kleene.html">pyarrow.compute.and_kleene</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.and_not.html">pyarrow.compute.and_not</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.and_not_kleene.html">pyarrow.compute.and_not_kleene</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.invert.html">pyarrow.compute.invert</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.or_.html">pyarrow.compute.or_</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.or_kleene.html">pyarrow.compute.or_kleene</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.xor.html">pyarrow.compute.xor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_is_alnum.html">pyarrow.compute.ascii_is_alnum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_is_alpha.html">pyarrow.compute.ascii_is_alpha</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_is_decimal.html">pyarrow.compute.ascii_is_decimal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_is_lower.html">pyarrow.compute.ascii_is_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_is_printable.html">pyarrow.compute.ascii_is_printable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_is_space.html">pyarrow.compute.ascii_is_space</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_is_upper.html">pyarrow.compute.ascii_is_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_is_alnum.html">pyarrow.compute.utf8_is_alnum</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_is_alpha.html">pyarrow.compute.utf8_is_alpha</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_is_decimal.html">pyarrow.compute.utf8_is_decimal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_is_digit.html">pyarrow.compute.utf8_is_digit</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_is_lower.html">pyarrow.compute.utf8_is_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_is_numeric.html">pyarrow.compute.utf8_is_numeric</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_is_printable.html">pyarrow.compute.utf8_is_printable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_is_space.html">pyarrow.compute.utf8_is_space</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_is_upper.html">pyarrow.compute.utf8_is_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_is_title.html">pyarrow.compute.ascii_is_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_is_title.html">pyarrow.compute.utf8_is_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.string_is_ascii.html">pyarrow.compute.string_is_ascii</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_capitalize.html">pyarrow.compute.ascii_capitalize</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_lower.html">pyarrow.compute.ascii_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_reverse.html">pyarrow.compute.ascii_reverse</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_swapcase.html">pyarrow.compute.ascii_swapcase</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_title.html">pyarrow.compute.ascii_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_upper.html">pyarrow.compute.ascii_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.binary_length.html">pyarrow.compute.binary_length</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.binary_repeat.html">pyarrow.compute.binary_repeat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.binary_replace_slice.html">pyarrow.compute.binary_replace_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.binary_reverse.html">pyarrow.compute.binary_reverse</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.replace_substring.html">pyarrow.compute.replace_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.replace_substring_regex.html">pyarrow.compute.replace_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_capitalize.html">pyarrow.compute.utf8_capitalize</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_length.html">pyarrow.compute.utf8_length</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_lower.html">pyarrow.compute.utf8_lower</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_replace_slice.html">pyarrow.compute.utf8_replace_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_reverse.html">pyarrow.compute.utf8_reverse</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_swapcase.html">pyarrow.compute.utf8_swapcase</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_title.html">pyarrow.compute.utf8_title</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_upper.html">pyarrow.compute.utf8_upper</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_center.html">pyarrow.compute.ascii_center</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_lpad.html">pyarrow.compute.ascii_lpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_rpad.html">pyarrow.compute.ascii_rpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_center.html">pyarrow.compute.utf8_center</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_lpad.html">pyarrow.compute.utf8_lpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_rpad.html">pyarrow.compute.utf8_rpad</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_zero_fill.html">pyarrow.compute.utf8_zero_fill</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_ltrim.html">pyarrow.compute.ascii_ltrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_ltrim_whitespace.html">pyarrow.compute.ascii_ltrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_rtrim.html">pyarrow.compute.ascii_rtrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_rtrim_whitespace.html">pyarrow.compute.ascii_rtrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_trim.html">pyarrow.compute.ascii_trim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_trim_whitespace.html">pyarrow.compute.ascii_trim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_ltrim.html">pyarrow.compute.utf8_ltrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_ltrim_whitespace.html">pyarrow.compute.utf8_ltrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_rtrim.html">pyarrow.compute.utf8_rtrim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_rtrim_whitespace.html">pyarrow.compute.utf8_rtrim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_trim.html">pyarrow.compute.utf8_trim</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_trim_whitespace.html">pyarrow.compute.utf8_trim_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ascii_split_whitespace.html">pyarrow.compute.ascii_split_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.split_pattern.html">pyarrow.compute.split_pattern</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.split_pattern_regex.html">pyarrow.compute.split_pattern_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_split_whitespace.html">pyarrow.compute.utf8_split_whitespace</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.extract_regex.html">pyarrow.compute.extract_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.binary_join.html">pyarrow.compute.binary_join</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.binary_join_element_wise.html">pyarrow.compute.binary_join_element_wise</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.binary_slice.html">pyarrow.compute.binary_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.utf8_slice_codeunits.html">pyarrow.compute.utf8_slice_codeunits</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.count_substring.html">pyarrow.compute.count_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.count_substring_regex.html">pyarrow.compute.count_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ends_with.html">pyarrow.compute.ends_with</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.find_substring.html">pyarrow.compute.find_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.find_substring_regex.html">pyarrow.compute.find_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.index_in.html">pyarrow.compute.index_in</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.is_in.html">pyarrow.compute.is_in</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.match_like.html">pyarrow.compute.match_like</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.match_substring.html">pyarrow.compute.match_substring</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.match_substring_regex.html">pyarrow.compute.match_substring_regex</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.starts_with.html">pyarrow.compute.starts_with</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.indices_nonzero.html">pyarrow.compute.indices_nonzero</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.is_finite.html">pyarrow.compute.is_finite</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.is_inf.html">pyarrow.compute.is_inf</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.is_nan.html">pyarrow.compute.is_nan</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.is_null.html">pyarrow.compute.is_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.is_valid.html">pyarrow.compute.is_valid</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.true_unless_null.html">pyarrow.compute.true_unless_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.case_when.html">pyarrow.compute.case_when</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.choose.html">pyarrow.compute.choose</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.coalesce.html">pyarrow.compute.coalesce</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.if_else.html">pyarrow.compute.if_else</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.cast.html">pyarrow.compute.cast</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ceil_temporal.html">pyarrow.compute.ceil_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.floor_temporal.html">pyarrow.compute.floor_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.round_temporal.html">pyarrow.compute.round_temporal</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.run_end_decode.html">pyarrow.compute.run_end_decode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.run_end_encode.html">pyarrow.compute.run_end_encode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.strftime.html">pyarrow.compute.strftime</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.strptime.html">pyarrow.compute.strptime</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.day.html">pyarrow.compute.day</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.day_of_week.html">pyarrow.compute.day_of_week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.day_of_year.html">pyarrow.compute.day_of_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.hour.html">pyarrow.compute.hour</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.iso_week.html">pyarrow.compute.iso_week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.iso_year.html">pyarrow.compute.iso_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.iso_calendar.html">pyarrow.compute.iso_calendar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.is_leap_year.html">pyarrow.compute.is_leap_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.microsecond.html">pyarrow.compute.microsecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.millisecond.html">pyarrow.compute.millisecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.minute.html">pyarrow.compute.minute</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.month.html">pyarrow.compute.month</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.nanosecond.html">pyarrow.compute.nanosecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.quarter.html">pyarrow.compute.quarter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.second.html">pyarrow.compute.second</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.subsecond.html">pyarrow.compute.subsecond</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.us_week.html">pyarrow.compute.us_week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.us_year.html">pyarrow.compute.us_year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.week.html">pyarrow.compute.week</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.year.html">pyarrow.compute.year</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.year_month_day.html">pyarrow.compute.year_month_day</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.day_time_interval_between.html">pyarrow.compute.day_time_interval_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.days_between.html">pyarrow.compute.days_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.hours_between.html">pyarrow.compute.hours_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.microseconds_between.html">pyarrow.compute.microseconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.milliseconds_between.html">pyarrow.compute.milliseconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.minutes_between.html">pyarrow.compute.minutes_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.month_day_nano_interval_between.html">pyarrow.compute.month_day_nano_interval_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.month_interval_between.html">pyarrow.compute.month_interval_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.nanoseconds_between.html">pyarrow.compute.nanoseconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.quarters_between.html">pyarrow.compute.quarters_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.seconds_between.html">pyarrow.compute.seconds_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.weeks_between.html">pyarrow.compute.weeks_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.years_between.html">pyarrow.compute.years_between</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.assume_timezone.html">pyarrow.compute.assume_timezone</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.local_timestamp.html">pyarrow.compute.local_timestamp</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.dictionary_encode.html">pyarrow.compute.dictionary_encode</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.unique.html">pyarrow.compute.unique</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.value_counts.html">pyarrow.compute.value_counts</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.array_filter.html">pyarrow.compute.array_filter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.array_take.html">pyarrow.compute.array_take</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.drop_null.html">pyarrow.compute.drop_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.filter.html">pyarrow.compute.filter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.take.html">pyarrow.compute.take</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.array_sort_indices.html">pyarrow.compute.array_sort_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.partition_nth_indices.html">pyarrow.compute.partition_nth_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.select_k_unstable.html">pyarrow.compute.select_k_unstable</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.sort_indices.html">pyarrow.compute.sort_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.fill_null.html">pyarrow.compute.fill_null</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.fill_null_backward.html">pyarrow.compute.fill_null_backward</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.fill_null_forward.html">pyarrow.compute.fill_null_forward</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.list_element.html">pyarrow.compute.list_element</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.list_flatten.html">pyarrow.compute.list_flatten</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.list_parent_indices.html">pyarrow.compute.list_parent_indices</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.list_slice.html">pyarrow.compute.list_slice</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.list_value_length.html">pyarrow.compute.list_value_length</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.make_struct.html">pyarrow.compute.make_struct</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.map_lookup.html">pyarrow.compute.map_lookup</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.replace_with_mask.html">pyarrow.compute.replace_with_mask</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.struct_field.html">pyarrow.compute.struct_field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.pairwise_diff.html">pyarrow.compute.pairwise_diff</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ArraySortOptions.html">pyarrow.compute.ArraySortOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.AssumeTimezoneOptions.html">pyarrow.compute.AssumeTimezoneOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.CastOptions.html">pyarrow.compute.CastOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.CountOptions.html">pyarrow.compute.CountOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.CumulativeSumOptions.html">pyarrow.compute.CumulativeSumOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.DayOfWeekOptions.html">pyarrow.compute.DayOfWeekOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.DictionaryEncodeOptions.html">pyarrow.compute.DictionaryEncodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ElementWiseAggregateOptions.html">pyarrow.compute.ElementWiseAggregateOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ExtractRegexOptions.html">pyarrow.compute.ExtractRegexOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.FilterOptions.html">pyarrow.compute.FilterOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.IndexOptions.html">pyarrow.compute.IndexOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.JoinOptions.html">pyarrow.compute.JoinOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ListSliceOptions.html">pyarrow.compute.ListSliceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.MakeStructOptions.html">pyarrow.compute.MakeStructOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.MapLookupOptions.html">pyarrow.compute.MapLookupOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.MatchSubstringOptions.html">pyarrow.compute.MatchSubstringOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ModeOptions.html">pyarrow.compute.ModeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.NullOptions.html">pyarrow.compute.NullOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.PadOptions.html">pyarrow.compute.PadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ZeroFillOptions.html">pyarrow.compute.ZeroFillOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.PairwiseOptions.html">pyarrow.compute.PairwiseOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.PartitionNthOptions.html">pyarrow.compute.PartitionNthOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.PivotWiderOptions.html">pyarrow.compute.PivotWiderOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.QuantileOptions.html">pyarrow.compute.QuantileOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ReplaceSliceOptions.html">pyarrow.compute.ReplaceSliceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ReplaceSubstringOptions.html">pyarrow.compute.ReplaceSubstringOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.RoundOptions.html">pyarrow.compute.RoundOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.RoundTemporalOptions.html">pyarrow.compute.RoundTemporalOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.RoundToMultipleOptions.html">pyarrow.compute.RoundToMultipleOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.RunEndEncodeOptions.html">pyarrow.compute.RunEndEncodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.ScalarAggregateOptions.html">pyarrow.compute.ScalarAggregateOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.SelectKOptions.html">pyarrow.compute.SelectKOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.SetLookupOptions.html">pyarrow.compute.SetLookupOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.SliceOptions.html">pyarrow.compute.SliceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.SortOptions.html">pyarrow.compute.SortOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.SplitOptions.html">pyarrow.compute.SplitOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.SplitPatternOptions.html">pyarrow.compute.SplitPatternOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.StrftimeOptions.html">pyarrow.compute.StrftimeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.StrptimeOptions.html">pyarrow.compute.StrptimeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.StructFieldOptions.html">pyarrow.compute.StructFieldOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.TakeOptions.html">pyarrow.compute.TakeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.TDigestOptions.html">pyarrow.compute.TDigestOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.TrimOptions.html">pyarrow.compute.TrimOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.VarianceOptions.html">pyarrow.compute.VarianceOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.WeekOptions.html">pyarrow.compute.WeekOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.register_scalar_function.html">pyarrow.compute.register_scalar_function</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.UdfContext.html">pyarrow.compute.UdfContext</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.field.html">pyarrow.compute.field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.compute.scalar.html">pyarrow.compute.scalar</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/acero.html">Acero - Streaming Execution Engine</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.acero.Declaration.html">pyarrow.acero.Declaration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.acero.ExecNodeOptions.html">pyarrow.acero.ExecNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.acero.TableSourceNodeOptions.html">pyarrow.acero.TableSourceNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.acero.ScanNodeOptions.html">pyarrow.acero.ScanNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.acero.FilterNodeOptions.html">pyarrow.acero.FilterNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.acero.ProjectNodeOptions.html">pyarrow.acero.ProjectNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.acero.AggregateNodeOptions.html">pyarrow.acero.AggregateNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.acero.OrderByNodeOptions.html">pyarrow.acero.OrderByNodeOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.acero.HashJoinNodeOptions.html">pyarrow.acero.HashJoinNodeOptions</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/substrait.html">Substrait</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.substrait.run_query.html">pyarrow.substrait.run_query</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.substrait.BoundExpressions.html">pyarrow.substrait.BoundExpressions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.substrait.deserialize_expressions.html">pyarrow.substrait.deserialize_expressions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.substrait.serialize_expressions.html">pyarrow.substrait.serialize_expressions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.substrait.serialize_schema.html">pyarrow.substrait.serialize_schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.substrait.deserialize_schema.html">pyarrow.substrait.deserialize_schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.substrait.SubstraitSchema.html">pyarrow.substrait.SubstraitSchema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.substrait.get_supported_functions.html">pyarrow.substrait.get_supported_functions</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/files.html">Streams and File Access</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.input_stream.html">pyarrow.input_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.output_stream.html">pyarrow.output_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.memory_map.html">pyarrow.memory_map</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.create_memory_map.html">pyarrow.create_memory_map</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.NativeFile.html">pyarrow.NativeFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.OSFile.html">pyarrow.OSFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.PythonFile.html">pyarrow.PythonFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.BufferReader.html">pyarrow.BufferReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.BufferOutputStream.html">pyarrow.BufferOutputStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.FixedSizeBufferWriter.html">pyarrow.FixedSizeBufferWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.MemoryMappedFile.html">pyarrow.MemoryMappedFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.CompressedInputStream.html">pyarrow.CompressedInputStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.CompressedOutputStream.html">pyarrow.CompressedOutputStream</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/ipc.html">Serialization and IPC</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.new_file.html">pyarrow.ipc.new_file</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.open_file.html">pyarrow.ipc.open_file</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.new_stream.html">pyarrow.ipc.new_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.open_stream.html">pyarrow.ipc.open_stream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.read_message.html">pyarrow.ipc.read_message</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.read_record_batch.html">pyarrow.ipc.read_record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.get_record_batch_size.html">pyarrow.ipc.get_record_batch_size</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.read_tensor.html">pyarrow.ipc.read_tensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.write_tensor.html">pyarrow.ipc.write_tensor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.get_tensor_size.html">pyarrow.ipc.get_tensor_size</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.IpcReadOptions.html">pyarrow.ipc.IpcReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.IpcWriteOptions.html">pyarrow.ipc.IpcWriteOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.Message.html">pyarrow.ipc.Message</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.MessageReader.html">pyarrow.ipc.MessageReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.RecordBatchFileReader.html">pyarrow.ipc.RecordBatchFileReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.RecordBatchFileWriter.html">pyarrow.ipc.RecordBatchFileWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.RecordBatchStreamReader.html">pyarrow.ipc.RecordBatchStreamReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.ipc.RecordBatchStreamWriter.html">pyarrow.ipc.RecordBatchStreamWriter</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/flight.html">Arrow Flight</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.Action.html">pyarrow.flight.Action</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.ActionType.html">pyarrow.flight.ActionType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.DescriptorType.html">pyarrow.flight.DescriptorType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightDescriptor.html">pyarrow.flight.FlightDescriptor</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightEndpoint.html">pyarrow.flight.FlightEndpoint</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightInfo.html">pyarrow.flight.FlightInfo</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.Location.html">pyarrow.flight.Location</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.MetadataRecordBatchReader.html">pyarrow.flight.MetadataRecordBatchReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.MetadataRecordBatchWriter.html">pyarrow.flight.MetadataRecordBatchWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.Ticket.html">pyarrow.flight.Ticket</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.Result.html">pyarrow.flight.Result</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.connect.html">pyarrow.flight.connect</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightCallOptions.html">pyarrow.flight.FlightCallOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightClient.html">pyarrow.flight.FlightClient</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightStreamReader.html">pyarrow.flight.FlightStreamReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightStreamWriter.html">pyarrow.flight.FlightStreamWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.ClientMiddlewareFactory.html">pyarrow.flight.ClientMiddlewareFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.ClientMiddleware.html">pyarrow.flight.ClientMiddleware</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightDataStream.html">pyarrow.flight.FlightDataStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightMetadataWriter.html">pyarrow.flight.FlightMetadataWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightServerBase.html">pyarrow.flight.FlightServerBase</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.GeneratorStream.html">pyarrow.flight.GeneratorStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.RecordBatchStream.html">pyarrow.flight.RecordBatchStream</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.ServerCallContext.html">pyarrow.flight.ServerCallContext</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.ServerMiddlewareFactory.html">pyarrow.flight.ServerMiddlewareFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.ServerMiddleware.html">pyarrow.flight.ServerMiddleware</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.ClientAuthHandler.html">pyarrow.flight.ClientAuthHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.ServerAuthHandler.html">pyarrow.flight.ServerAuthHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightError.html">pyarrow.flight.FlightError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightCancelledError.html">pyarrow.flight.FlightCancelledError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightInternalError.html">pyarrow.flight.FlightInternalError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightServerError.html">pyarrow.flight.FlightServerError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightTimedOutError.html">pyarrow.flight.FlightTimedOutError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightUnauthenticatedError.html">pyarrow.flight.FlightUnauthenticatedError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightUnauthorizedError.html">pyarrow.flight.FlightUnauthorizedError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightUnavailableError.html">pyarrow.flight.FlightUnavailableError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightWriteSizeExceededError.html">pyarrow.flight.FlightWriteSizeExceededError</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.FlightMethod.html">pyarrow.flight.FlightMethod</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.flight.CallInfo.html">pyarrow.flight.CallInfo</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/formats.html">Tabular File Formats</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.csv.ConvertOptions.html">pyarrow.csv.ConvertOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.csv.CSVStreamingReader.html">pyarrow.csv.CSVStreamingReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.csv.CSVWriter.html">pyarrow.csv.CSVWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.csv.ISO8601.html">pyarrow.csv.ISO8601</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.csv.ParseOptions.html">pyarrow.csv.ParseOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.csv.ReadOptions.html">pyarrow.csv.ReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.csv.WriteOptions.html">pyarrow.csv.WriteOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.csv.open_csv.html">pyarrow.csv.open_csv</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.csv.read_csv.html">pyarrow.csv.read_csv</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.csv.write_csv.html">pyarrow.csv.write_csv</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.csv.InvalidRow.html">pyarrow.csv.InvalidRow</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.feather.read_feather.html">pyarrow.feather.read_feather</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.feather.read_table.html">pyarrow.feather.read_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.feather.write_feather.html">pyarrow.feather.write_feather</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.json.ReadOptions.html">pyarrow.json.ReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.json.ParseOptions.html">pyarrow.json.ParseOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.json.open_json.html">pyarrow.json.open_json</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.json.read_json.html">pyarrow.json.read_json</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.ParquetDataset.html">pyarrow.parquet.ParquetDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.ParquetFile.html">pyarrow.parquet.ParquetFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.ParquetWriter.html">pyarrow.parquet.ParquetWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.read_table.html">pyarrow.parquet.read_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.read_metadata.html">pyarrow.parquet.read_metadata</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.read_pandas.html">pyarrow.parquet.read_pandas</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.read_schema.html">pyarrow.parquet.read_schema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.write_metadata.html">pyarrow.parquet.write_metadata</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.write_table.html">pyarrow.parquet.write_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.write_to_dataset.html">pyarrow.parquet.write_to_dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.FileMetaData.html">pyarrow.parquet.FileMetaData</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.RowGroupMetaData.html">pyarrow.parquet.RowGroupMetaData</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.SortingColumn.html">pyarrow.parquet.SortingColumn</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.ColumnChunkMetaData.html">pyarrow.parquet.ColumnChunkMetaData</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.Statistics.html">pyarrow.parquet.Statistics</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.ParquetSchema.html">pyarrow.parquet.ParquetSchema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.ColumnSchema.html">pyarrow.parquet.ColumnSchema</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.ParquetLogicalType.html">pyarrow.parquet.ParquetLogicalType</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.encryption.CryptoFactory.html">pyarrow.parquet.encryption.CryptoFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.encryption.KmsClient.html">pyarrow.parquet.encryption.KmsClient</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.encryption.KmsConnectionConfig.html">pyarrow.parquet.encryption.KmsConnectionConfig</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.encryption.EncryptionConfiguration.html">pyarrow.parquet.encryption.EncryptionConfiguration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.parquet.encryption.DecryptionConfiguration.html">pyarrow.parquet.encryption.DecryptionConfiguration</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.orc.ORCFile.html">pyarrow.orc.ORCFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.orc.ORCWriter.html">pyarrow.orc.ORCWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.orc.read_table.html">pyarrow.orc.read_table</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.orc.write_table.html">pyarrow.orc.write_table</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/filesystems.html">Filesystems</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.FileInfo.html">pyarrow.fs.FileInfo</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.FileSelector.html">pyarrow.fs.FileSelector</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.FileSystem.html">pyarrow.fs.FileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.LocalFileSystem.html">pyarrow.fs.LocalFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.S3FileSystem.html">pyarrow.fs.S3FileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.GcsFileSystem.html">pyarrow.fs.GcsFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.HadoopFileSystem.html">pyarrow.fs.HadoopFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.SubTreeFileSystem.html">pyarrow.fs.SubTreeFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.AzureFileSystem.html">pyarrow.fs.AzureFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.PyFileSystem.html">pyarrow.fs.PyFileSystem</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.FileSystemHandler.html">pyarrow.fs.FileSystemHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.FSSpecHandler.html">pyarrow.fs.FSSpecHandler</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.copy_files.html">pyarrow.fs.copy_files</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.initialize_s3.html">pyarrow.fs.initialize_s3</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.finalize_s3.html">pyarrow.fs.finalize_s3</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.resolve_s3_region.html">pyarrow.fs.resolve_s3_region</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.fs.S3LogLevel.html">pyarrow.fs.S3LogLevel</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/dataset.html">Dataset</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.dataset.html">pyarrow.dataset.dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.parquet_dataset.html">pyarrow.dataset.parquet_dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.partitioning.html">pyarrow.dataset.partitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.field.html">pyarrow.dataset.field</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.scalar.html">pyarrow.dataset.scalar</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.write_dataset.html">pyarrow.dataset.write_dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.FileFormat.html">pyarrow.dataset.FileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.CsvFileFormat.html">pyarrow.dataset.CsvFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.CsvFragmentScanOptions.html">pyarrow.dataset.CsvFragmentScanOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.IpcFileFormat.html">pyarrow.dataset.IpcFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.JsonFileFormat.html">pyarrow.dataset.JsonFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.ParquetFileFormat.html">pyarrow.dataset.ParquetFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.ParquetReadOptions.html">pyarrow.dataset.ParquetReadOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.ParquetFragmentScanOptions.html">pyarrow.dataset.ParquetFragmentScanOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.ParquetFileFragment.html">pyarrow.dataset.ParquetFileFragment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.OrcFileFormat.html">pyarrow.dataset.OrcFileFormat</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.Partitioning.html">pyarrow.dataset.Partitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.PartitioningFactory.html">pyarrow.dataset.PartitioningFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.DirectoryPartitioning.html">pyarrow.dataset.DirectoryPartitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.HivePartitioning.html">pyarrow.dataset.HivePartitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.FilenamePartitioning.html">pyarrow.dataset.FilenamePartitioning</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.Dataset.html">pyarrow.dataset.Dataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.FileSystemDataset.html">pyarrow.dataset.FileSystemDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.FileSystemFactoryOptions.html">pyarrow.dataset.FileSystemFactoryOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.FileSystemDatasetFactory.html">pyarrow.dataset.FileSystemDatasetFactory</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.UnionDataset.html">pyarrow.dataset.UnionDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.Fragment.html">pyarrow.dataset.Fragment</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.FragmentScanOptions.html">pyarrow.dataset.FragmentScanOptions</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.TaggedRecordBatch.html">pyarrow.dataset.TaggedRecordBatch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.Scanner.html">pyarrow.dataset.Scanner</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.Expression.html">pyarrow.dataset.Expression</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.InMemoryDataset.html">pyarrow.dataset.InMemoryDataset</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.WrittenFile.html">pyarrow.dataset.WrittenFile</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.dataset.get_partition_keys.html">pyarrow.dataset.get_partition_keys</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/cuda.html">CUDA Integration</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.cuda.Context.html">pyarrow.cuda.Context</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.cuda.CudaBuffer.html">pyarrow.cuda.CudaBuffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.cuda.new_host_buffer.html">pyarrow.cuda.new_host_buffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.cuda.HostBuffer.html">pyarrow.cuda.HostBuffer</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.cuda.BufferReader.html">pyarrow.cuda.BufferReader</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.cuda.BufferWriter.html">pyarrow.cuda.BufferWriter</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.cuda.serialize_record_batch.html">pyarrow.cuda.serialize_record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.cuda.read_record_batch.html">pyarrow.cuda.read_record_batch</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.cuda.read_message.html">pyarrow.cuda.read_message</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.cuda.IpcMemHandle.html">pyarrow.cuda.IpcMemHandle</a></li>
</ul>
</details></li>
<li class="toctree-l3 has-children"><a class="reference internal" href="../python/api/misc.html">Miscellaneous</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.cpu_count.html">pyarrow.cpu_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.set_cpu_count.html">pyarrow.set_cpu_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.io_thread_count.html">pyarrow.io_thread_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.set_io_thread_count.html">pyarrow.set_io_thread_count</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.get_include.html">pyarrow.get_include</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.get_libraries.html">pyarrow.get_libraries</a></li>
<li class="toctree-l4"><a class="reference internal" href="../python/generated/pyarrow.get_library_dirs.html">pyarrow.get_library_dirs</a></li>
</ul>
</details></li>
</ul>
</details></li>
<li class="toctree-l2"><a class="reference internal" href="../python/getting_involved.html">Getting Involved</a></li>
<li class="toctree-l2"><a class="reference internal" href="../python/benchmarks.html">Benchmarks</a></li>
<li class="toctree-l2"><a class="reference external" href="https://arrow.apache.org/cookbook/py/">Python cookbook</a></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/docs/r">R</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/arrow/blob/main/ruby/README.md">Ruby</a></li>
<li class="toctree-l1"><a class="reference external" href="https://docs.rs/crate/arrow/">Rust</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/arrow-swift/blob/main/Arrow/README.md">Swift</a></li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/nanoarrow/">nanoarrow</a></li>
<li class="toctree-l1"><a class="reference internal" href="../status.html">Implementation Status</a></li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
</div>
<main id="main-content" class="bd-main" role="main">
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article d-print-none">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item">
<nav aria-label="Breadcrumb" class="d-print-none">
<ul class="bd-breadcrumbs">
<li class="breadcrumb-item breadcrumb-home">
<a href="../index.html" class="nav-link" aria-label="Home">
<i class="fa-solid fa-home"></i>
</a>
</li>
<li class="breadcrumb-item"><a href="../implementations.html" class="nav-link">Implementations</a></li>
<li class="breadcrumb-item"><a href="index.html" class="nav-link">Java Implementation</a></li>
<li class="breadcrumb-item active" aria-current="page"><span class="ellipsis">Table</span></li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section id="table">
<h1>Table<a class="headerlink" href="#table" title="Link to this heading">#</a></h1>
<p><strong>NOTE</strong>: The Table API is experimental and subject to change. See the list of limitations below.</p>
<p><a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/vector/table/Table.html">Table</a> is an immutable tabular data structure based on <a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/vector/FieldVector.html">FieldVector</a>. Like <a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/vector/VectorSchemaRoot.html">VectorSchemaRoot</a>, <code class="docutils literal notranslate"><span class="pre">Table</span></code> is a columnar data structure backed by Arrow arrays, or more specifically, by <code class="docutils literal notranslate"><span class="pre">FieldVector</span></code> objects. It differs from <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code> mainly in that it is fully immutable and lacks support for batch operations. Anyone processing batches of tabular data in a pipeline should continue to use <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code>. Finally, the <code class="docutils literal notranslate"><span class="pre">Table</span></code> API is mainly row-oriented, so in some ways it’s more like the JDBC API than the <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code> API, but you can still use <code class="docutils literal notranslate"><span class="pre">FieldReaders</span></code> to work with data in a columnar fashion.</p>
<section id="mutation-in-table-and-vectorschemaroot">
<h2>Mutation in Table and VectorSchemaRoot<a class="headerlink" href="#mutation-in-table-and-vectorschemaroot" title="Link to this heading">#</a></h2>
<p><code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code> provides a thin wrapper on the vectors that hold its data. Individual vectors can be retrieved from a vector schema root. These vectors have <em>setters</em> for modifying their elements, making <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code> immutable only by convention. The protocol for mutating a vector is documented in the <a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/vector/ValueVector.html">ValueVector</a> interface:</p>
<ul class="simple">
<li><p>values need to be written in order (e.g. index 0, 1, 2, 5)</p></li>
<li><p>null vectors start with all values as null before writing anything</p></li>
<li><p>for variable width types, the offset vector should be all zeros before writing</p></li>
<li><p>you must call setValueCount before a vector can be read</p></li>
<li><p>you should never write to a vector once it has been read.</p></li>
</ul>
<p>The rules aren’t enforced by the API so the programmer is responsible for ensuring that they are followed. Failure to do so could lead to runtime exceptions.</p>
<p><code class="docutils literal notranslate"><span class="pre">Table</span></code>, on the other hand, is immutable. The underlying vectors are not exposed. When a table is created from existing vectors, their memory is transferred to new vectors, so subsequent changes to the original vectors can’t impact the new table’s values.</p>
</section>
<section id="features-and-limitations">
<h2>Features and limitations<a class="headerlink" href="#features-and-limitations" title="Link to this heading">#</a></h2>
<p>A basic set of table functionality is currently available:</p>
<ul class="simple">
<li><p>Create a table from vectors or <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code></p></li>
<li><p>Iterate tables by row, or set the current row index directly</p></li>
<li><p>Access vector values as primitives, objects, and/or nullable <a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/vector/holders/ValueHolder.html">ValueHolder</a> instances (depending on type)</p></li>
<li><p>Get a <code class="docutils literal notranslate"><span class="pre">FieldReader</span></code> for any vector</p></li>
<li><p>Add and remove vectors, creating new tables</p></li>
<li><p>Encode and decode a table’s vectors using dictionary encoding</p></li>
<li><p>Export table data for use by native code</p></li>
<li><p>Print representative data to TSV strings</p></li>
<li><p>Get a table’s schema</p></li>
<li><p>Slice tables</p></li>
<li><p>Convert table to <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code></p></li>
</ul>
<p>Limitations in the 11.0.0 release:</p>
<ul class="simple">
<li><p>No support <code class="docutils literal notranslate"><span class="pre">ChunkedArray</span></code> or any form of row-group. Support for chunked arrays or row groups will be considered for a future release.</p></li>
<li><p>No support for the C-Stream API. Support for the streaming API is contingent on chunked array support</p></li>
<li><p>No support for creating tables directly from Java POJOs. All data held by a table must be imported via a <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code>, or from collections or arrays of vectors.</p></li>
</ul>
</section>
<section id="the-table-api">
<h2>The Table API<a class="headerlink" href="#the-table-api" title="Link to this heading">#</a></h2>
<p>Like <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code>, a table contains a <a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/vector/types/pojo/Schema.html">Schema</a> and an ordered collection of <code class="docutils literal notranslate"><span class="pre">FieldVector</span></code> objects, but it is designed to be accessed via a row-oriented interface.</p>
<section id="creating-a-table-from-a-vectorschemaroot">
<h3>Creating a Table from a VectorSchemaRoot<a class="headerlink" href="#creating-a-table-from-a-vectorschemaroot" title="Link to this heading">#</a></h3>
<p>Tables are created from a <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code> as shown below. The memory buffers holding the data are transferred from the vector schema root to new vectors in the new table, clearing the source vectors in the process. This ensures that the data in your new table is never changed. Since the buffers are transferred rather than copied, this is a very low overhead operation.</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">Table</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Table</span><span class="p">(</span><span class="n">someVectorSchemaRoot</span><span class="p">);</span>
</pre></div>
</div>
<p>If you now update the vectors held by the <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code> (using some version of <code class="docutils literal notranslate"><span class="pre">ValueVector#setSafe()</span></code>), it would reflect those changes, but the values in table <em>t</em> are unchanged.</p>
</section>
<section id="creating-a-table-from-fieldvectors">
<h3>Creating a Table from FieldVectors<a class="headerlink" href="#creating-a-table-from-fieldvectors" title="Link to this heading">#</a></h3>
<p>Tables can be created from <code class="docutils literal notranslate"><span class="pre">FieldVectors</span></code> as shown below, using ‘var-arg’ array arguments:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">IntVector</span><span class="w"> </span><span class="n">myVector</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">createMyIntVector</span><span class="p">();</span>
<span class="n">VectorSchemaRoot</span><span class="w"> </span><span class="n">vsr1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">VectorSchemaRoot</span><span class="p">(</span><span class="n">myVector</span><span class="p">);</span>
</pre></div>
</div>
<p>or by passing a collection:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">IntVector</span><span class="w"> </span><span class="n">myVector</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">createMyIntVector</span><span class="p">();</span>
<span class="n">List</span><span class="o">&lt;</span><span class="n">FieldVector</span><span class="o">&gt;</span><span class="w"> </span><span class="n">fvList</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">List</span><span class="p">.</span><span class="na">of</span><span class="p">(</span><span class="n">myVector</span><span class="p">);</span>
<span class="n">VectorSchemaRoot</span><span class="w"> </span><span class="n">vsr1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">VectorSchemaRoot</span><span class="p">(</span><span class="n">fvList</span><span class="p">);</span>
</pre></div>
</div>
<p>It is rarely a good idea to share vectors between multiple vector schema roots, and it would not be a good idea to share them between vector schema roots and tables. Creating a <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code> from a list of vectors does not cause the reference counts for the vectors to be incremented. Unless you manage the counts manually, the code below would lead to more references than reference counts, and that could lead to trouble. There is an implicit assumption that the vectors were created for use by <em>one</em> <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code> that this code violates.</p>
<p><em>Don’t do this:</em></p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">IntVector</span><span class="w"> </span><span class="n">myVector</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">createMyIntVector</span><span class="p">();</span><span class="w"> </span><span class="c1">// Reference count for myVector = 1</span>
<span class="n">VectorSchemaRoot</span><span class="w"> </span><span class="n">vsr1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">VectorSchemaRoot</span><span class="p">(</span><span class="n">myVector</span><span class="p">);</span><span class="w"> </span><span class="c1">// Still one reference</span>
<span class="n">VectorSchemaRoot</span><span class="w"> </span><span class="n">vsr2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">VectorSchemaRoot</span><span class="p">(</span><span class="n">myVector</span><span class="p">);</span>
<span class="c1">// Ref count is still one, but there are two VSRs with a reference to myVector</span>
<span class="n">vsr2</span><span class="p">.</span><span class="na">clear</span><span class="p">();</span><span class="w"> </span><span class="c1">// Reference count for myVector is 0.</span>
</pre></div>
</div>
<p>What is happening is that the reference counter works at a lower level than the <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code> interface. A reference counter counts references to <a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/memory/ArrowBuf.html">ArrowBuf</a> instances that control memory buffers. It doesn’t count references to the vectors that hold those ArrowBufs. In the example above, each <code class="docutils literal notranslate"><span class="pre">ArrowBuf</span></code> is held by one vector, so there is only one reference. This distinction is blurred when you call the <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code>’s clear() method, which frees the memory held by each of the vectors it references even though another instance references the same vectors.</p>
<p>When you create tables from vectors, it’s assumed that there are no external references to those vectors. To be certain, the buffers underlying these vectors are transferred to new vectors in the new table, and the original vectors are cleared.</p>
<p><em>Don’t do this either, but note the difference from above:</em></p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">IntVector</span><span class="w"> </span><span class="n">myVector</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">createMyIntVector</span><span class="p">();</span><span class="w"> </span><span class="c1">// Reference count for myVector = 1</span>
<span class="n">Table</span><span class="w"> </span><span class="n">t1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Table</span><span class="p">(</span><span class="n">myVector</span><span class="p">);</span>
<span class="c1">// myVector is cleared; Table t1 has a new hidden vector with the data from myVector</span>
<span class="n">Table</span><span class="w"> </span><span class="n">t2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Table</span><span class="p">(</span><span class="n">myVector</span><span class="p">);</span>
<span class="c1">// t2 has no rows because myVector was just cleared</span>
<span class="c1">// t1 continues to have the data from the original vector</span>
<span class="n">t2</span><span class="p">.</span><span class="na">clear</span><span class="p">();</span>
<span class="c1">// no change because t2 is already empty and t1 is independent</span>
</pre></div>
</div>
<p>With tables, memory is explicitly transferred on instantiation so the buffers held by a table are held by <em>only</em> that table.</p>
</section>
<section id="creating-tables-with-dictionary-encoded-vectors">
<h3>Creating Tables with dictionary-encoded vectors<a class="headerlink" href="#creating-tables-with-dictionary-encoded-vectors" title="Link to this heading">#</a></h3>
<p>Another point of difference is that <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code> is uninformed about any dictionary-encoding of its vectors, while tables hold an optional <a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/vector/dictionary/DictionaryProvider.html">DictionaryProvider</a> instance. If any vectors in the source data are encoded, a DictionaryProvider must be set to un-encode the values.</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">VectorSchemaRoot</span><span class="w"> </span><span class="n">vsr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">myVsr</span><span class="p">();</span>
<span class="n">DictionaryProvider</span><span class="w"> </span><span class="n">provider</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">myProvider</span><span class="p">();</span>
<span class="n">Table</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Table</span><span class="p">(</span><span class="n">vsr</span><span class="p">,</span><span class="w"> </span><span class="n">provider</span><span class="p">);</span>
</pre></div>
</div>
<p>In <code class="docutils literal notranslate"><span class="pre">Table</span></code>, dictionaries are used like they are with vectors. To decode a vector, the user provides the name of the vector to decode and the dictionary id:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">Table</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Table</span><span class="p">(</span><span class="n">vsr</span><span class="p">,</span><span class="w"> </span><span class="n">provider</span><span class="p">);</span>
<span class="n">ValueVector</span><span class="w"> </span><span class="n">decodedName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="na">decode</span><span class="p">(</span><span class="s">&quot;name&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">1L</span><span class="p">);</span>
</pre></div>
</div>
<p>To encode a vector from a table, a similar approach is used:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">Table</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Table</span><span class="p">(</span><span class="n">vsr</span><span class="p">,</span><span class="w"> </span><span class="n">provider</span><span class="p">);</span>
<span class="n">ValueVector</span><span class="w"> </span><span class="n">encodedName</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="na">encode</span><span class="p">(</span><span class="s">&quot;name&quot;</span><span class="p">,</span><span class="w"> </span><span class="mi">1L</span><span class="p">);</span>
</pre></div>
</div>
</section>
<section id="freeing-memory-explicitly">
<h3>Freeing memory explicitly<a class="headerlink" href="#freeing-memory-explicitly" title="Link to this heading">#</a></h3>
<p>Tables use off-heap memory that must be freed when it is no longer needed. <code class="docutils literal notranslate"><span class="pre">Table</span></code> implements <code class="docutils literal notranslate"><span class="pre">AutoCloseable</span></code> so the best way to create one is in a try-with-resources block:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">VectorSchemaRoot</span><span class="w"> </span><span class="n">vsr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">myMethodForGettingVsrs</span><span class="p">();</span>
<span class="w"> </span><span class="n">Table</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Table</span><span class="p">(</span><span class="n">vsr</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="c1">// do useful things.</span>
<span class="p">}</span>
</pre></div>
</div>
<p>If you don’t use a try-with-resources block, you must close the table manually:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="k">try</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">VectorSchemaRoot</span><span class="w"> </span><span class="n">vsr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">myMethodForGettingVsrs</span><span class="p">();</span>
<span class="w"> </span><span class="n">Table</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Table</span><span class="p">(</span><span class="n">vsr</span><span class="p">);</span>
<span class="w"> </span><span class="c1">// do useful things.</span>
<span class="p">}</span><span class="w"> </span><span class="k">finally</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">vsr</span><span class="p">.</span><span class="na">close</span><span class="p">();</span>
<span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="na">close</span><span class="p">();</span>
<span class="p">}</span>
</pre></div>
</div>
<p>Manual closing should be performed in a finally block.</p>
</section>
<section id="getting-the-schema">
<h3>Getting the schema<a class="headerlink" href="#getting-the-schema" title="Link to this heading">#</a></h3>
<p>You get the table’s schema just as you would with a vector schema root:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">Schema</span><span class="w"> </span><span class="n">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">getSchema</span><span class="p">();</span>
</pre></div>
</div>
</section>
<section id="adding-and-removing-vectors">
<h3>Adding and removing vectors<a class="headerlink" href="#adding-and-removing-vectors" title="Link to this heading">#</a></h3>
<p><code class="docutils literal notranslate"><span class="pre">Table</span></code> provides facilities for adding and removing vectors modeled on the same functionality in <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code>. These operations return new instances rather than modifying the original instance in-place.</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">Table</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Table</span><span class="p">(</span><span class="n">vectorList</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">IntVector</span><span class="w"> </span><span class="n">v3</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">IntVector</span><span class="p">(</span><span class="s">&quot;3&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">intFieldType</span><span class="p">,</span><span class="w"> </span><span class="n">allocator</span><span class="p">);</span>
<span class="w"> </span><span class="n">Table</span><span class="w"> </span><span class="n">t2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="na">addVector</span><span class="p">(</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="n">v3</span><span class="p">);</span>
<span class="w"> </span><span class="n">Table</span><span class="w"> </span><span class="n">t3</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t2</span><span class="p">.</span><span class="na">removeVector</span><span class="p">(</span><span class="mi">1</span><span class="p">);</span>
<span class="w"> </span><span class="c1">// don&#39;t forget to close t2 and t3</span>
<span class="p">}</span>
</pre></div>
</div>
</section>
<section id="slicing-tables">
<h3>Slicing tables<a class="headerlink" href="#slicing-tables" title="Link to this heading">#</a></h3>
<p><code class="docutils literal notranslate"><span class="pre">Table</span></code> supports <em>slice()</em> operations, where a slice of a source table is a second Table that refers to a single, contiguous range of rows in the source.</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">Table</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Table</span><span class="p">(</span><span class="n">vectorList</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">Table</span><span class="w"> </span><span class="n">t2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="na">slice</span><span class="p">(</span><span class="mi">100</span><span class="p">,</span><span class="w"> </span><span class="mi">200</span><span class="p">);</span><span class="w"> </span><span class="c1">// creates a slice referencing the values in range (100, 200]</span>
<span class="w"> </span><span class="p">...</span>
<span class="p">}</span>
</pre></div>
</div>
<p>This raises the question: If you create a slice with <em>all</em> the values in the source table (as shown below), how would that differ from a new Table constructed with the same vectors as the source?</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="k">try</span><span class="w"> </span><span class="p">(</span><span class="n">Table</span><span class="w"> </span><span class="n">t</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">Table</span><span class="p">(</span><span class="n">vectorList</span><span class="p">))</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">Table</span><span class="w"> </span><span class="n">t2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="na">slice</span><span class="p">(</span><span class="mi">0</span><span class="p">,</span><span class="w"> </span><span class="n">t</span><span class="p">.</span><span class="na">getRowCount</span><span class="p">());</span><span class="w"> </span><span class="c1">// creates a slice referencing all the values in t</span>
<span class="w"> </span><span class="c1">// ...</span>
<span class="p">}</span>
</pre></div>
</div>
<p>The difference is that when you <em>construct</em> a new table, the buffers are transferred from the source vectors to new vectors in the destination. With a slice, both tables share the same underlying vectors. That’s OK, though, since both tables are immutable.</p>
</section>
<section id="using-fieldreaders">
<h3>Using FieldReaders<a class="headerlink" href="#using-fieldreaders" title="Link to this heading">#</a></h3>
<p>You can get a <a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/vector/complex/reader/FieldReader.html">FieldReader</a> for any vector in the Table passing either the <a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/vector/types/pojo/Field.html">Field</a>, vector index, or vector name as an argument. The signatures are the same as in <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code>.</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">FieldReader</span><span class="w"> </span><span class="n">nameReader</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">getReader</span><span class="p">(</span><span class="s">&quot;user_name&quot;</span><span class="p">);</span>
</pre></div>
</div>
</section>
<section id="row-operations">
<h3>Row operations<a class="headerlink" href="#row-operations" title="Link to this heading">#</a></h3>
<p>Row-based access is supported by the <a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/vector/table/Row.html">Row</a> object. <code class="docutils literal notranslate"><span class="pre">Row</span></code> provides <em>get()</em> methods by both vector name and vector position, but no <em>set()</em> operations.</p>
<p>It is important to recognize that rows are NOT reified as objects, but rather operate like a cursor where the data from numerous logical rows in the table can be viewed (one at a time) using the same <code class="docutils literal notranslate"><span class="pre">Row</span></code> instance. See “Moving from row-to-row” below for information about navigating through the table.</p>
</section>
<section id="getting-a-row">
<h3>Getting a row<a class="headerlink" href="#getting-a-row" title="Link to this heading">#</a></h3>
<p>Calling <code class="docutils literal notranslate"><span class="pre">immutableRow()</span></code> on any table instance returns a new <code class="docutils literal notranslate"><span class="pre">Row</span></code> instance.</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">Row</span><span class="w"> </span><span class="n">r</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">immutableRow</span><span class="p">();</span>
</pre></div>
</div>
</section>
<section id="moving-from-row-to-row">
<h3>Moving from row-to-row<a class="headerlink" href="#moving-from-row-to-row" title="Link to this heading">#</a></h3>
<p>Since rows are iterable, you can traverse a table using a standard while loop:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">Row</span><span class="w"> </span><span class="n">r</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">immutableRow</span><span class="p">();</span>
<span class="k">while</span><span class="w"> </span><span class="p">(</span><span class="n">r</span><span class="p">.</span><span class="na">hasNext</span><span class="p">())</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="n">r</span><span class="p">.</span><span class="na">next</span><span class="p">();</span>
<span class="w"> </span><span class="c1">// do something useful here</span>
<span class="p">}</span>
</pre></div>
</div>
<p><code class="docutils literal notranslate"><span class="pre">Table</span></code> implements <code class="docutils literal notranslate"><span class="pre">Iterable&lt;Row&gt;</span></code> so you can access rows directly from a table in an enhanced <em>for</em> loop:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="n">Row</span><span class="w"> </span><span class="n">row</span><span class="p">:</span><span class="w"> </span><span class="n">table</span><span class="p">)</span><span class="w"> </span><span class="p">{</span>
<span class="w"> </span><span class="kt">int</span><span class="w"> </span><span class="n">age</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="na">getInt</span><span class="p">(</span><span class="s">&quot;age&quot;</span><span class="p">);</span>
<span class="w"> </span><span class="kt">boolean</span><span class="w"> </span><span class="n">nameIsNull</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="na">isNull</span><span class="p">(</span><span class="s">&quot;name&quot;</span><span class="p">);</span>
<span class="w"> </span><span class="p">...</span>
<span class="p">}</span>
</pre></div>
</div>
<p>Finally, while rows are usually iterated in the order of the underlying data vectors, but they are also positionable using the <code class="docutils literal notranslate"><span class="pre">Row#setPosition()</span></code> method, so you can skip to a specific row. Row numbers are 0-based.</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">Row</span><span class="w"> </span><span class="n">r</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">immutableRow</span><span class="p">();</span>
<span class="kt">int</span><span class="w"> </span><span class="n">age101</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">r</span><span class="p">.</span><span class="na">setPosition</span><span class="p">(</span><span class="mi">101</span><span class="p">);</span><span class="w"> </span><span class="c1">// change position directly to 101</span>
</pre></div>
</div>
<p>Any changes to position are applied to all the columns in the table.</p>
<p>Note that you must call <code class="docutils literal notranslate"><span class="pre">next()</span></code>, or <code class="docutils literal notranslate"><span class="pre">setPosition()</span></code> before accessing values via a row. Failure to do so results in a runtime exception.</p>
</section>
<section id="read-operations-using-rows">
<h3>Read operations using rows<a class="headerlink" href="#read-operations-using-rows" title="Link to this heading">#</a></h3>
<p>Methods are available for getting values by vector name and vector index, where index is the 0-based position of the vector in the table. For example, assuming ‘age’ is the 13th vector in ‘table’, the following two gets are equivalent:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">Row</span><span class="w"> </span><span class="n">r</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">table</span><span class="p">.</span><span class="na">immutableRow</span><span class="p">();</span>
<span class="n">r</span><span class="p">.</span><span class="na">next</span><span class="p">();</span><span class="w"> </span><span class="c1">// position the row at the first value</span>
<span class="kt">int</span><span class="w"> </span><span class="n">age1</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">r</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="s">&quot;age&quot;</span><span class="p">);</span><span class="w"> </span><span class="c1">// gets the value of vector named &#39;age&#39; in the table at row 0</span>
<span class="kt">int</span><span class="w"> </span><span class="n">age2</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">r</span><span class="p">.</span><span class="na">get</span><span class="p">(</span><span class="mi">12</span><span class="p">);</span><span class="w"> </span><span class="c1">// gets the value of the 13th vector in the table at row 0</span>
</pre></div>
</div>
<p>You can also get value using a nullable <code class="docutils literal notranslate"><span class="pre">ValueHolder</span></code>. For example:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">NullableIntHolder</span><span class="w"> </span><span class="n">holder</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">new</span><span class="w"> </span><span class="n">NullableIntHolder</span><span class="p">();</span>
<span class="kt">int</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="na">getInt</span><span class="p">(</span><span class="s">&quot;age&quot;</span><span class="p">,</span><span class="w"> </span><span class="n">holder</span><span class="p">);</span>
</pre></div>
</div>
<p>This can be used to retrieve values without creating a new Object for each.</p>
<p>In addition to getting values, you can check if a value is null using <code class="docutils literal notranslate"><span class="pre">isNull()</span></code>. This is important if the vector contains any nulls, as asking for a value from a vector can cause NullPointerExceptions in some cases.</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="kt">boolean</span><span class="w"> </span><span class="n">name0isNull</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="na">isNull</span><span class="p">(</span><span class="s">&quot;name&quot;</span><span class="p">);</span>
</pre></div>
</div>
<p>You can also get the current row number:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="kt">int</span><span class="w"> </span><span class="n">row</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="na">getRowNumber</span><span class="p">();</span>
</pre></div>
</div>
</section>
<section id="reading-values-as-objects">
<h3>Reading values as Objects<a class="headerlink" href="#reading-values-as-objects" title="Link to this heading">#</a></h3>
<p>For any given vector type, the basic <em>get()</em> method returns a primitive value wherever possible. For example, <em>getTimeStampMicro()</em> returns a long value that encodes the timestamp. To get the LocalDateTime object representing that timestamp in Java, another method with ‘Obj’ appended to the name is provided. For example:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="kt">long</span><span class="w"> </span><span class="n">ts</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="na">getTimeStampMicro</span><span class="p">();</span>
<span class="n">LocalDateTime</span><span class="w"> </span><span class="n">tsObject</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="na">getTimeStampMicroObj</span><span class="p">();</span>
</pre></div>
</div>
<p>The exception to this naming scheme is for complex vector types (List, Map, Schema, Union, DenseUnion, and ExtensionType). These always return objects rather than primitives so no “Obj” extension is required. It is expected that some users may subclass <code class="docutils literal notranslate"><span class="pre">Row</span></code> to add getters that are more specific to their needs.</p>
</section>
<section id="reading-varchars-and-largevarchars">
<h3>Reading VarChars and LargeVarChars<a class="headerlink" href="#reading-varchars-and-largevarchars" title="Link to this heading">#</a></h3>
<p>Strings in arrow are represented as byte arrays encoded with the UTF-8 charset. You can get either a String result or the actual byte array.</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="kt">byte</span><span class="o">[]</span><span class="w"> </span><span class="n">b</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="na">getVarChar</span><span class="p">(</span><span class="s">&quot;first_name&quot;</span><span class="p">);</span>
<span class="n">String</span><span class="w"> </span><span class="n">s</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="na">getVarCharObj</span><span class="p">(</span><span class="s">&quot;first_name&quot;</span><span class="p">);</span><span class="w"> </span><span class="c1">// uses the default encoding (UTF-8)</span>
</pre></div>
</div>
</section>
<section id="converting-a-table-to-a-vectorschemaroot">
<h3>Converting a Table to a VectorSchemaRoot<a class="headerlink" href="#converting-a-table-to-a-vectorschemaroot" title="Link to this heading">#</a></h3>
<p>Tables can be converted to vector schema roots using the <em>toVectorSchemaRoot()</em> method. Buffers are transferred to the vector schema root and the source table is cleared.</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">VectorSchemaRoot</span><span class="w"> </span><span class="n">root</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">myTable</span><span class="p">.</span><span class="na">toVectorSchemaRoot</span><span class="p">();</span>
</pre></div>
</div>
</section>
<section id="working-with-the-c-data-interface">
<h3>Working with the C-Data interface<a class="headerlink" href="#working-with-the-c-data-interface" title="Link to this heading">#</a></h3>
<p>The ability to work with native code is required for many Arrow features. This section describes how tables can be be exported for use with native code</p>
<p>Exporting works by converting the data to a <code class="docutils literal notranslate"><span class="pre">VectorSchemaRoot</span></code> instance and using the existing facilities to transfer the data. You could do it yourself, but that isn’t ideal because conversion to a vector schema root breaks the immutability guarantees. Using the <code class="docutils literal notranslate"><span class="pre">exportTable()</span></code> methods in the <a class="reference external" href="https://arrow.apache.org/docs/java/reference/org/apache/arrow/c/Data.html">Data</a> class avoids this concern.</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">Data</span><span class="p">.</span><span class="na">exportTable</span><span class="p">(</span><span class="n">bufferAllocator</span><span class="p">,</span><span class="w"> </span><span class="n">table</span><span class="p">,</span><span class="w"> </span><span class="n">dictionaryProvider</span><span class="p">,</span><span class="w"> </span><span class="n">outArrowArray</span><span class="p">);</span>
</pre></div>
</div>
<p>If the table contains dictionary-encoded vectors and was constructed with a <code class="docutils literal notranslate"><span class="pre">DictionaryProvider</span></code>, the provider argument to <code class="docutils literal notranslate"><span class="pre">exportTable()</span></code> can be omitted and the table’s provider attribute will be used:</p>
<div class="highlight-Java notranslate"><div class="highlight"><pre><span></span><span class="n">Data</span><span class="p">.</span><span class="na">exportTable</span><span class="p">(</span><span class="n">bufferAllocator</span><span class="p">,</span><span class="w"> </span><span class="n">table</span><span class="p">,</span><span class="w"> </span><span class="n">outArrowArray</span><span class="p">);</span>
</pre></div>
</div>
</section>
</section>
</section>
</article>
<footer class="prev-next-footer d-print-none">
<div class="prev-next-area">
<a class="left-prev"
href="vector_schema_root.html"
title="previous page">
<i class="fa-solid fa-angle-left"></i>
<div class="prev-next-info">
<p class="prev-next-subtitle">previous</p>
<p class="prev-next-title">Tabular Data</p>
</div>
</a>
<a class="right-next"
href="ipc.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Reading/Writing IPC formats</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
</div>
</footer>
</div>
<dialog id="pst-secondary-sidebar-modal"></dialog>
<div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div
id="pst-page-navigation-heading-2"
class="page-toc tocsection onthispage">
<i class="fa-solid fa-list"></i> On this page
</div>
<nav class="bd-toc-nav page-toc" aria-labelledby="pst-page-navigation-heading-2">
<ul class="visible nav section-nav flex-column">
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#mutation-in-table-and-vectorschemaroot">Mutation in Table and VectorSchemaRoot</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#features-and-limitations">Features and limitations</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#the-table-api">The Table API</a><ul class="visible nav section-nav flex-column">
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#creating-a-table-from-a-vectorschemaroot">Creating a Table from a VectorSchemaRoot</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#creating-a-table-from-fieldvectors">Creating a Table from FieldVectors</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#creating-tables-with-dictionary-encoded-vectors">Creating Tables with dictionary-encoded vectors</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#freeing-memory-explicitly">Freeing memory explicitly</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#getting-the-schema">Getting the schema</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#adding-and-removing-vectors">Adding and removing vectors</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#slicing-tables">Slicing tables</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#using-fieldreaders">Using FieldReaders</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#row-operations">Row operations</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#getting-a-row">Getting a row</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#moving-from-row-to-row">Moving from row-to-row</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#read-operations-using-rows">Read operations using rows</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#reading-values-as-objects">Reading values as Objects</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#reading-varchars-and-largevarchars">Reading VarChars and LargeVarChars</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#converting-a-table-to-a-vectorschemaroot">Converting a Table to a VectorSchemaRoot</a></li>
<li class="toc-h3 nav-item toc-entry"><a class="reference internal nav-link" href="#working-with-the-c-data-interface">Working with the C-Data interface</a></li>
</ul>
</li>
</ul>
</nav></div>
<div class="sidebar-secondary-item">
<div class="tocsection editthispage">
<a href="https://github.com/apache/arrow/edit/main/docs/source/java/table.rst">
<i class="fa-solid fa-pencil"></i>
Edit on GitHub
</a>
</div>
</div>
</div></div>
</div>
<footer class="bd-footer-content">
</footer>
</main>
</div>
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="../_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="../_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<footer class="bd-footer">
<div class="bd-footer__inner bd-page-width">
<div class="footer-items__start">
<div class="footer-item">
<p class="copyright">
© Copyright 2016-2025 Apache Software Foundation.
Apache Arrow, Arrow, Apache, the Apache logo, and the Apache Arrow project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
<br/>
</p>
</div>
<div class="footer-item">
<p class="sphinx-version">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 8.2.3.
<br/>
</p>
</div>
</div>
<div class="footer-items__end">
<div class="footer-item">
<p class="theme-version">
<!-- # L10n: Setting the PST URL as an argument as this does not need to be localized -->
Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.16.1.
</p></div>
</div>
</div>
</footer>
</body>
</html>