blob: 83ef55f64280d03842c06151338f73c2057272fd [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="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Environment Variables &#8212; Apache Arrow v17.0.0.dev52</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "light";
</script>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link href="../_static/vendor/fontawesome/6.5.1/css/all.min.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.1/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.1/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.1/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="../_static/theme_overrides.css" />
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=8d27b9dea8ad943066ae" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=8d27b9dea8ad943066ae" />
<script src="../_static/vendor/fontawesome/6.5.1/js/all.min.js?digest=8d27b9dea8ad943066ae"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/clipboard.min.js"></script>
<script src="../_static/copybutton.js"></script>
<script src="../_static/design-tabs.js"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'cpp/env_vars';</script>
<script>
DOCUMENTATION_OPTIONS.theme_version = '0.15.2';
DOCUMENTATION_OPTIONS.theme_switcher_json_url = '/docs/_static/versions.json';
DOCUMENTATION_OPTIONS.theme_switcher_version_match = 'dev/';
DOCUMENTATION_OPTIONS.show_version_warning_banner = true;
</script>
<link rel="canonical" href="https://arrow.apache.org/docs/cpp/env_vars.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="Examples" href="examples/index.html" />
<link rel="prev" title="OpenTelemetry" href="opentelemetry.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<!-- 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="">
<a id="pst-skip-link" class="skip-link" href="#main-content">Skip to main content</a>
<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>
<input type="checkbox"
class="sidebar-toggle"
name="__primary"
id="__primary"/>
<label class="overlay overlay-primary" for="__primary"></label>
<input type="checkbox"
class="sidebar-toggle"
name="__secondary"
id="__secondary"/>
<label class="overlay overlay-secondary" for="__secondary"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<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"
id="search-input"
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></div>
</div>
<header class="bd-header navbar navbar-expand-lg bd-navbar">
<div class="bd-header__inner bd-page-width">
<label class="sidebar-toggle primary-toggle" for="__primary">
<span class="fa-solid fa-bars"></span>
</label>
<div class="col-lg-3 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 v17.0.0.dev52 - Home"/>
<script>document.write(`<img src="../_static/arrow-dark.png" class="logo__image only-dark" alt="Apache Arrow v17.0.0.dev52 - Home"/>`);</script>
</a></div>
</div>
<div class="col-lg-9 navbar-header-items">
<div class="me-auto navbar-header-items__center">
<div class="navbar-item">
<nav class="navbar-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 dropdown">
<button class="btn dropdown-toggle nav-item" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-controls="pst-nav-more-links">
Implementations
</button>
<ul id="pst-nav-more-links" class="dropdown-menu">
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../c_glib/index.html">
C/GLib
</a>
</li>
<li class="nav-item current active">
<a class="nav-link dropdown-item nav-internal" href="index.html">
C++
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/csharp/README.md">
C#
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://pkg.go.dev/github.com/apache/arrow/go/v17">
Go
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../java/index.html">
Java
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../js/index.html">
JavaScript
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/julia/">
Julia
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/matlab/README.md">
MATLAB
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/nanoarrow/">
nanoarrow
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../python/index.html">
Python
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../r/index.html">
R
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/ruby/README.md">
Ruby
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://docs.rs/crate/arrow/">
Rust
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../status.html">
Implementation Status
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/cpp/">
C++ cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/java/">
Java cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/py/">
Python cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/r/">
R cookbook
</a>
</li>
</ul>
</li>
</ul>
</nav></div>
</div>
<div class="navbar-header-items__end">
<div class="navbar-item navbar-persistent--container">
<script>
document.write(`
<button class="btn navbar-btn search-button-field search-button__button" 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>
`);
</script>
</div>
<div class="navbar-item">
<script>
document.write(`
<div class="version-switcher__container dropdown">
<button id="pst-version-switcher-button-2"
type="button"
class="version-switcher__button btn btn-sm navbar-btn 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>
`);
</script></div>
<div class="navbar-item">
<script>
document.write(`
<button class="btn btn-sm navbar-btn theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="theme-switch nav-link" data-mode="light"><i class="fa-solid fa-sun fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="dark"><i class="fa-solid fa-moon fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg"></i></span>
</button>
`);
</script></div>
<div class="navbar-item"><ul class="navbar-icon-links navbar-nav"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://twitter.com/ApacheArrow" title="X" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-x-twitter fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">X</span></a>
</li>
</ul></div>
</div>
</div>
<div class="navbar-persistent--mobile">
<script>
document.write(`
<button class="btn navbar-btn search-button-field search-button__button" 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>
`);
</script>
</div>
<label class="sidebar-toggle secondary-toggle" for="__secondary" tabindex="0">
<span class="fa-solid fa-outdent"></span>
</label>
</div>
</header>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<div 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 class="navbar-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 dropdown">
<button class="btn dropdown-toggle nav-item" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-controls="pst-nav-more-links-2">
Implementations
</button>
<ul id="pst-nav-more-links-2" class="dropdown-menu">
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../c_glib/index.html">
C/GLib
</a>
</li>
<li class="nav-item current active">
<a class="nav-link dropdown-item nav-internal" href="index.html">
C++
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/csharp/README.md">
C#
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://pkg.go.dev/github.com/apache/arrow/go/v17">
Go
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../java/index.html">
Java
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../js/index.html">
JavaScript
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/julia/">
Julia
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/matlab/README.md">
MATLAB
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/nanoarrow/">
nanoarrow
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../python/index.html">
Python
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../r/index.html">
R
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/ruby/README.md">
Ruby
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://docs.rs/crate/arrow/">
Rust
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../status.html">
Implementation Status
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/cpp/">
C++ cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/java/">
Java cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/py/">
Python cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/r/">
R cookbook
</a>
</li>
</ul>
</li>
</ul>
</nav></div>
</div>
<div class="sidebar-header-items__end">
<div class="navbar-item">
<script>
document.write(`
<div class="version-switcher__container dropdown">
<button id="pst-version-switcher-button-3"
type="button"
class="version-switcher__button btn btn-sm navbar-btn 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>
`);
</script></div>
<div class="navbar-item">
<script>
document.write(`
<button class="btn btn-sm navbar-btn theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="theme-switch nav-link" data-mode="light"><i class="fa-solid fa-sun fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="dark"><i class="fa-solid fa-moon fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg"></i></span>
</button>
`);
</script></div>
<div class="navbar-item"><ul class="navbar-icon-links navbar-nav"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://twitter.com/ApacheArrow" title="X" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-x-twitter fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">X</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 has-children"><a class="reference internal" href="getting_started.html">Getting Started</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-1"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="build_system.html">Using Arrow C++ in your own project</a></li>
<li class="toctree-l2"><a class="reference internal" href="conventions.html">Conventions</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorials/basic_arrow.html">Basic Arrow Data Structures</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorials/io_tutorial.html">Arrow File I/O</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorials/compute_tutorial.html">Arrow Compute</a></li>
<li class="toctree-l2"><a class="reference internal" href="tutorials/datasets_tutorial.html">Arrow Datasets</a></li>
</ul>
</li>
<li class="toctree-l1 current active has-children"><a class="reference internal" href="user_guide.html">User Guide</a><input checked="" class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-2"><i class="fa-solid fa-chevron-down"></i></label><ul class="current">
<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="memory.html">Memory Management</a></li>
<li class="toctree-l2"><a class="reference internal" href="arrays.html">Arrays</a></li>
<li class="toctree-l2"><a class="reference internal" href="datatypes.html">Data Types</a></li>
<li class="toctree-l2"><a class="reference internal" href="tables.html">Tabular Data</a></li>
<li class="toctree-l2"><a class="reference internal" href="compute.html">Compute Functions</a></li>
<li class="toctree-l2 has-children"><a class="reference internal" href="gandiva.html">The Gandiva Expression Compiler</a><input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-3"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="gandiva/expr_projector_filter.html">Gandiva Expression, Projector, and Filter</a></li>
<li class="toctree-l3"><a class="reference internal" href="gandiva/external_func.html">Gandiva External Functions Development Guide</a></li>
</ul>
</li>
<li class="toctree-l2 has-children"><a class="reference internal" href="streaming_execution.html">Acero: A C++ streaming execution engine</a><input class="toctree-checkbox" id="toctree-checkbox-4" name="toctree-checkbox-4" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-4"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l3"><a class="reference internal" href="acero/overview.html">Acero Overview</a></li>
<li class="toctree-l3"><a class="reference internal" href="acero/user_guide.html">Acero User’s Guide</a></li>
<li class="toctree-l3"><a class="reference internal" href="acero/substrait.html">Using Acero with Substrait</a></li>
<li class="toctree-l3"><a class="reference internal" href="acero/developer_guide.html">Developer’s Guide</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="io.html">Input / output and filesystems</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipc.html">Reading and writing the Arrow IPC format</a></li>
<li class="toctree-l2"><a class="reference internal" href="orc.html">Reading and Writing ORC files</a></li>
<li class="toctree-l2"><a class="reference internal" href="parquet.html">Reading and writing Parquet files</a></li>
<li class="toctree-l2"><a class="reference internal" href="csv.html">Reading and Writing CSV files</a></li>
<li class="toctree-l2"><a class="reference internal" href="json.html">Reading JSON files</a></li>
<li class="toctree-l2"><a class="reference internal" href="dataset.html">Tabular Datasets</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="gdb.html">Debugging code using Arrow</a></li>
<li class="toctree-l2"><a class="reference internal" href="threading.html">Thread Management</a></li>
<li class="toctree-l2"><a class="reference internal" href="opentelemetry.html">OpenTelemetry</a></li>
<li class="toctree-l2 current active"><a class="current reference internal" href="#">Environment Variables</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="examples/index.html">Examples</a><input class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-5"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="examples/cmake_minimal_build.html">Minimal build using CMake</a></li>
<li class="toctree-l2"><a class="reference internal" href="examples/compute_and_write_example.html">Compute and Write CSV Example</a></li>
<li class="toctree-l2"><a class="reference internal" href="examples/dataset_documentation_example.html">Arrow Datasets example</a></li>
<li class="toctree-l2"><a class="reference internal" href="examples/dataset_skyhook_scan_example.html">Arrow Skyhook example</a></li>
<li class="toctree-l2"><a class="reference internal" href="examples/row_columnar_conversion.html">Row to columnar conversion</a></li>
<li class="toctree-l2"><a class="reference internal" href="examples/tuple_range_conversion.html">std::tuple-like ranges to Arrow</a></li>
<li class="toctree-l2"><a class="reference internal" href="examples/converting_recordbatch_to_tensor.html">Converting RecordBatch to Tensor</a></li>
</ul>
</li>
<li class="toctree-l1 has-children"><a class="reference internal" href="api.html">API Reference</a><input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-6"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="api/support.html">Programming Support</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/memory.html">Memory (management)</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/thread.html">Thread (management)</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/datatype.html">Data Types</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/array.html">Arrays</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/scalar.html">Scalars</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/builder.html">Array Builders</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/table.html">Two-dimensional Datasets</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/c_abi.html">C Interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/compute.html">Compute Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/acero.html">Streaming Execution (Acero)</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/gandiva.html">Gandiva Expression Compiler</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/tensor.html">Tensors</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/utilities.html">Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/async.html">Asynchronous programming</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/io.html">Input / output</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/ipc.html">Arrow IPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/formats.html">File Formats</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/cuda.html">CUDA support</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/flightsql.html">Arrow Flight SQL</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/filesystem.html">Filesystems</a></li>
<li class="toctree-l2"><a class="reference internal" href="api/dataset.html">Dataset</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference external" href="https://arrow.apache.org/cookbook/cpp/">C++ cookbook</a></li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
</div>
<div id="rtd-footer-container"></div>
</div>
<main id="main-content" class="bd-main">
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item">
<nav aria-label="Breadcrumb">
<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="index.html" class="nav-link">C++ Implementation</a></li>
<li class="breadcrumb-item"><a href="user_guide.html" class="nav-link">User Guide</a></li>
<li class="breadcrumb-item active" aria-current="page">Environment...</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section id="environment-variables">
<span id="cpp-env-vars"></span><h1>Environment Variables<a class="headerlink" href="#environment-variables" title="Permalink to this heading">#</a></h1>
<p>The following environment variables can be used to affect the behavior of
Arrow C++ at runtime. Many of these variables are inspected only once per
process (for example, when the Arrow C++ DLL is loaded), so you cannot assume
that changing their value later will have an effect.</p>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-ACERO_ALIGNMENT_HANDLING">
<span class="sig-name descname"><span class="pre">ACERO_ALIGNMENT_HANDLING</span></span><a class="headerlink" href="#envvar-ACERO_ALIGNMENT_HANDLING" title="Permalink to this definition">#</a></dt>
<dd><p>Arrow C++’s Acero module performs computation on streams of data. This
computation may involve a form of “type punning” that is technically
undefined behavior if the underlying array is not properly aligned. On
most modern CPUs this is not an issue, but some older CPUs may crash or
suffer poor performance. For this reason it is recommended that all
incoming array buffers are properly aligned, but some data sources
such as <a class="reference internal" href="../format/Flight.html#flight-rpc"><span class="std std-ref">Flight</span></a> may produce unaligned buffers.</p>
<p>The value of this environment variable controls what will happen when
Acero detects an unaligned buffer:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">warn</span></code>: a warning is emitted</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">ignore</span></code>: nothing, alignment checking is disabled</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">reallocate</span></code>: the buffer is reallocated to a properly aligned address</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">error</span></code>: the operation fails with an error</p></li>
</ul>
<p>The default behavior is <code class="docutils literal notranslate"><span class="pre">warn</span></code>. On modern hardware it is usually safe
to change this to <code class="docutils literal notranslate"><span class="pre">ignore</span></code>. Changing to <code class="docutils literal notranslate"><span class="pre">reallocate</span></code> is the safest
option but this will have a significant performance impact as the buffer
will need to be copied.</p>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-ARROW_DEBUG_MEMORY_POOL">
<span class="sig-name descname"><span class="pre">ARROW_DEBUG_MEMORY_POOL</span></span><a class="headerlink" href="#envvar-ARROW_DEBUG_MEMORY_POOL" title="Permalink to this definition">#</a></dt>
<dd><p>Enable rudimentary memory checks to guard against buffer overflows.
The value of this environment variable selects the behavior when a
buffer overflow is detected:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">abort</span></code> exits the processus with a non-zero return value;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">trap</span></code> issues a platform-specific debugger breakpoint / trap instruction;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">warn</span></code> prints a warning on stderr and continues execution;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">none</span></code> disables memory checks;</p></li>
</ul>
<p>If this variable is not set, or has an empty value, it has the same effect
as the value <code class="docutils literal notranslate"><span class="pre">none</span></code> - memory checks are disabled.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>While this functionality can be useful and has little overhead, it
is not a replacement for more sophisticated memory checking utilities
such as <a class="reference external" href="https://valgrind.org/">Valgrind</a> or
<a class="reference external" href="https://clang.llvm.org/docs/AddressSanitizer.html">Address Sanitizer</a>.</p>
</div>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-ARROW_DEFAULT_MEMORY_POOL">
<span class="sig-name descname"><span class="pre">ARROW_DEFAULT_MEMORY_POOL</span></span><a class="headerlink" href="#envvar-ARROW_DEFAULT_MEMORY_POOL" title="Permalink to this definition">#</a></dt>
<dd><p>Override the backend to be used for the default
<a class="reference internal" href="memory.html#cpp-memory-pool"><span class="std std-ref">memory pool</span></a>. Possible values are among <code class="docutils literal notranslate"><span class="pre">jemalloc</span></code>,
<code class="docutils literal notranslate"><span class="pre">mimalloc</span></code> and <code class="docutils literal notranslate"><span class="pre">system</span></code>, depending on which backends were enabled when
<a class="reference internal" href="../developers/cpp/building.html#building-arrow-cpp"><span class="std std-ref">building Arrow C++</span></a>.</p>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-ARROW_IO_THREADS">
<span class="sig-name descname"><span class="pre">ARROW_IO_THREADS</span></span><a class="headerlink" href="#envvar-ARROW_IO_THREADS" title="Permalink to this definition">#</a></dt>
<dd><p>Override the default number of threads for the global IO thread pool.
The value of this environment variable should be a positive integer.</p>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-ARROW_LIBHDFS_DIR">
<span class="sig-name descname"><span class="pre">ARROW_LIBHDFS_DIR</span></span><a class="headerlink" href="#envvar-ARROW_LIBHDFS_DIR" title="Permalink to this definition">#</a></dt>
<dd><p>The directory containing the C HDFS library (<code class="docutils literal notranslate"><span class="pre">hdfs.dll</span></code> on Windows,
<code class="docutils literal notranslate"><span class="pre">libhdfs.dylib</span></code> on macOS, <code class="docutils literal notranslate"><span class="pre">libhdfs.so</span></code> on other platforms).
Alternatively, one can set <span class="target" id="index-0"></span><a class="reference internal" href="#envvar-HADOOP_HOME"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">HADOOP_HOME</span></code></a>.</p>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-ARROW_S3_LOG_LEVEL">
<span class="sig-name descname"><span class="pre">ARROW_S3_LOG_LEVEL</span></span><a class="headerlink" href="#envvar-ARROW_S3_LOG_LEVEL" title="Permalink to this definition">#</a></dt>
<dd><p>Controls the verbosity of logging produced by S3 calls. Defaults to <code class="docutils literal notranslate"><span class="pre">FATAL</span></code>
which only produces output in the case of fatal errors. <code class="docutils literal notranslate"><span class="pre">DEBUG</span></code> is recommended
when you’re trying to troubleshoot issues.</p>
<p>Possible values include:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">FATAL</span></code> (the default)</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">ERROR</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">WARN</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">INFO</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">DEBUG</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">TRACE</span></code></p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">OFF</span></code></p></li>
</ul>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference external" href="https://docs.aws.amazon.com/sdk-for-cpp/v1/developer-guide/logging.html">Logging - AWS SDK For C++</a></p>
</div>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-ARROW_TRACING_BACKEND">
<span class="sig-name descname"><span class="pre">ARROW_TRACING_BACKEND</span></span><a class="headerlink" href="#envvar-ARROW_TRACING_BACKEND" title="Permalink to this definition">#</a></dt>
<dd><p>The backend where to export <a class="reference external" href="https://opentelemetry.io/">OpenTelemetry</a>-based
execution traces. Possible values are:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">ostream</span></code>: emit textual log messages to stdout;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">otlp_http</span></code>: emit OTLP JSON encoded traces to a HTTP server (by default,
the endpoint URL is “<a class="reference external" href="http://localhost:4318/v1/traces">http://localhost:4318/v1/traces</a>”);</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">arrow_otlp_stdout</span></code>: emit JSON traces to stdout;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">arrow_otlp_stderr</span></code>: emit JSON traces to stderr.</p></li>
</ul>
<p>If this variable is not set, no traces are exported.</p>
<p>This environment variable has no effect if Arrow C++ was not built with
tracing enabled.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference external" href="https://github.com/open-telemetry/opentelemetry-specification/blob/main/specification/protocol/exporter.md">OpenTelemetry configuration for remote endpoints</a></p>
</div>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-ARROW_USER_SIMD_LEVEL">
<span class="sig-name descname"><span class="pre">ARROW_USER_SIMD_LEVEL</span></span><a class="headerlink" href="#envvar-ARROW_USER_SIMD_LEVEL" title="Permalink to this definition">#</a></dt>
<dd><p>The maximum SIMD optimization level selectable at runtime. Useful for
comparing the performance impact of enabling or disabling respective code
paths or working around situations where instructions are supported but are
not performant or cause other issues.</p>
<p>By default, Arrow C++ detects the capabilities of the current CPU at runtime
and chooses the best execution paths based on that information. This
behavior can be overriden by setting this environment variable to a
well-defined value. Supported values are:</p>
<ul class="simple">
<li><p><code class="docutils literal notranslate"><span class="pre">NONE</span></code> disables any runtime-selected SIMD optimization;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">SSE4_2</span></code> enables any SSE2-based optimizations until SSE4.2 (included);</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">AVX</span></code> enables any AVX-based optimizations and earlier;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">AVX2</span></code> enables any AVX2-based optimizations and earlier;</p></li>
<li><p><code class="docutils literal notranslate"><span class="pre">AVX512</span></code> enables any AVX512-based optimizations and earlier.</p></li>
</ul>
<p>This environment variable only has an effect on x86 platforms. Other
platforms currently do not implement any form of runtime dispatch.</p>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>In addition to runtime-selected SIMD optimizations dispatch, Arrow C++ can
also be compiled with SIMD optimizations that cannot be disabled at
runtime. For example, by default, SSE4.2 optimizations are enabled on x86
builds: therefore, with this default setting, Arrow C++ does not work at
all on a CPU without support for SSE4.2. This setting can be changed
using the <code class="docutils literal notranslate"><span class="pre">ARROW_SIMD_LEVEL</span></code> CMake variable so as to either raise or
lower the optimization level.</p>
<p>Finally, the <code class="docutils literal notranslate"><span class="pre">ARROW_RUNTIME_SIMD_LEVEL</span></code> CMake variable sets a
compile-time upper bound to runtime-selected SIMD optimizations. This is
useful in cases where a compiler reports support for an instruction set
but does not actually support it in full.</p>
</div>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-AWS_ENDPOINT_URL">
<span class="sig-name descname"><span class="pre">AWS_ENDPOINT_URL</span></span><a class="headerlink" href="#envvar-AWS_ENDPOINT_URL" title="Permalink to this definition">#</a></dt>
<dd><p>Endpoint URL used for S3-like storage, for example Minio or s3.scality.
Alternatively, one can set <span class="target" id="index-1"></span><a class="reference internal" href="#envvar-AWS_ENDPOINT_URL_S3"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">AWS_ENDPOINT_URL_S3</span></code></a>.</p>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-AWS_ENDPOINT_URL_S3">
<span class="sig-name descname"><span class="pre">AWS_ENDPOINT_URL_S3</span></span><a class="headerlink" href="#envvar-AWS_ENDPOINT_URL_S3" title="Permalink to this definition">#</a></dt>
<dd><p>Endpoint URL used for S3-like storage, for example Minio or s3.scality.
This takes precedence over <span class="target" id="index-2"></span><a class="reference internal" href="#envvar-AWS_ENDPOINT_URL"><code class="xref std std-envvar docutils literal notranslate"><span class="pre">AWS_ENDPOINT_URL</span></code></a> if both variables
are set.</p>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-GANDIVA_CACHE_SIZE">
<span class="sig-name descname"><span class="pre">GANDIVA_CACHE_SIZE</span></span><a class="headerlink" href="#envvar-GANDIVA_CACHE_SIZE" title="Permalink to this definition">#</a></dt>
<dd><p>The number of entries to keep in the Gandiva JIT compilation cache.
The cache is in-memory and does not persist across processes.</p>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-HADOOP_HOME">
<span class="sig-name descname"><span class="pre">HADOOP_HOME</span></span><a class="headerlink" href="#envvar-HADOOP_HOME" title="Permalink to this definition">#</a></dt>
<dd><p>The path to the Hadoop installation.</p>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-JAVA_HOME">
<span class="sig-name descname"><span class="pre">JAVA_HOME</span></span><a class="headerlink" href="#envvar-JAVA_HOME" title="Permalink to this definition">#</a></dt>
<dd><p>Set the path to the Java Runtime Environment installation. This may be
required for HDFS support if Java is installed in a non-standard location.</p>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-OMP_NUM_THREADS">
<span class="sig-name descname"><span class="pre">OMP_NUM_THREADS</span></span><a class="headerlink" href="#envvar-OMP_NUM_THREADS" title="Permalink to this definition">#</a></dt>
<dd><p>The number of worker threads in the global (process-wide) CPU thread pool.
If this environment variable is not defined, the available hardware
concurrency is determined using a platform-specific routine.</p>
</dd></dl>
<dl class="std envvar">
<dt class="sig sig-object std" id="envvar-OMP_THREAD_LIMIT">
<span class="sig-name descname"><span class="pre">OMP_THREAD_LIMIT</span></span><a class="headerlink" href="#envvar-OMP_THREAD_LIMIT" title="Permalink to this definition">#</a></dt>
<dd><p>An upper bound for the number of worker threads in the global
(process-wide) CPU thread pool.</p>
<p>For example, if the current machine has 4 hardware threads and
<code class="docutils literal notranslate"><span class="pre">OMP_THREAD_LIMIT</span></code> is 8, the global CPU thread pool will have 4 worker
threads. But if <code class="docutils literal notranslate"><span class="pre">OMP_THREAD_LIMIT</span></code> is 2, the global CPU thread pool
will have 2 worker threads.</p>
</dd></dl>
</section>
</article>
<footer class="prev-next-footer">
<div class="prev-next-area">
<a class="left-prev"
href="opentelemetry.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">OpenTelemetry</p>
</div>
</a>
<a class="right-next"
href="examples/index.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Examples</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
</div>
</footer>
</div>
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div class="tocsection editthispage">
<a href="https://github.com/apache/arrow/edit/main/docs/source/cpp/env_vars.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 src="../_static/scripts/bootstrap.js?digest=8d27b9dea8ad943066ae"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=8d27b9dea8ad943066ae"></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-2024 Apache Software Foundation.
Apache Arrow, Arrow, Apache, the Apache feather 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> 6.2.0.
<br/>
</p>
</div>
</div>
<div class="footer-items__end">
<div class="footer-item">
<p class="theme-version">
Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.15.2.
</p></div>
</div>
</div>
</footer>
</body>
</html>