blob: c149233baa5c31fbf0fdf7550ea9cf8a63e1c3d5 [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>File Formats &#8212; Apache Arrow v17.0.0.dev59</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/api/formats';</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/api/formats.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="CUDA support" href="cuda.html" />
<link rel="prev" title="Arrow IPC" href="ipc.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.dev59 - Home"/>
<script>document.write(`<img src="../../_static/arrow-dark.png" class="logo__image only-dark" alt="Apache Arrow v17.0.0.dev59 - 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 has-children"><a class="reference internal" href="../user_guide.html">User Guide</a><input 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>
<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"><a class="reference internal" href="../env_vars.html">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 current active has-children"><a class="reference internal" href="../api.html">API Reference</a><input checked="" 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 class="current">
<li class="toctree-l2"><a class="reference internal" href="support.html">Programming Support</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="thread.html">Thread (management)</a></li>
<li class="toctree-l2"><a class="reference internal" href="datatype.html">Data Types</a></li>
<li class="toctree-l2"><a class="reference internal" href="array.html">Arrays</a></li>
<li class="toctree-l2"><a class="reference internal" href="scalar.html">Scalars</a></li>
<li class="toctree-l2"><a class="reference internal" href="builder.html">Array Builders</a></li>
<li class="toctree-l2"><a class="reference internal" href="table.html">Two-dimensional Datasets</a></li>
<li class="toctree-l2"><a class="reference internal" href="c_abi.html">C Interfaces</a></li>
<li class="toctree-l2"><a class="reference internal" href="compute.html">Compute Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="acero.html">Streaming Execution (Acero)</a></li>
<li class="toctree-l2"><a class="reference internal" href="gandiva.html">Gandiva Expression Compiler</a></li>
<li class="toctree-l2"><a class="reference internal" href="tensor.html">Tensors</a></li>
<li class="toctree-l2"><a class="reference internal" href="utilities.html">Utilities</a></li>
<li class="toctree-l2"><a class="reference internal" href="async.html">Asynchronous programming</a></li>
<li class="toctree-l2"><a class="reference internal" href="io.html">Input / output</a></li>
<li class="toctree-l2"><a class="reference internal" href="ipc.html">Arrow IPC</a></li>
<li class="toctree-l2 current active"><a class="current reference internal" href="#">File Formats</a></li>
<li class="toctree-l2"><a class="reference internal" href="cuda.html">CUDA support</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="flightsql.html">Arrow Flight SQL</a></li>
<li class="toctree-l2"><a class="reference internal" href="filesystem.html">Filesystems</a></li>
<li class="toctree-l2"><a class="reference internal" href="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="../api.html" class="nav-link">API Reference</a></li>
<li class="breadcrumb-item active" aria-current="page">File Formats</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section id="file-formats">
<h1>File Formats<a class="headerlink" href="#file-formats" title="Permalink to this heading">#</a></h1>
<section id="csv-reader">
<span id="cpp-api-csv"></span><h2>CSV reader<a class="headerlink" href="#csv-reader" title="Permalink to this heading">#</a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptionsE">
<span id="_CPPv3N5arrow3csv14ConvertOptionsE"></span><span id="_CPPv2N5arrow3csv14ConvertOptionsE"></span><span id="arrow::csv::ConvertOptions"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ConvertOptions</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptionsE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3csv14ConvertOptions8ValidateEv">
<span id="_CPPv3NK5arrow3csv14ConvertOptions8ValidateEv"></span><span id="_CPPv2NK5arrow3csv14ConvertOptions8ValidateEv"></span><span id="arrow::csv::ConvertOptions::ValidateC"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1ac818fcd0ac6c0ca4476a8fec26e98418"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Validate</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow3csv14ConvertOptions8ValidateEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Test that all set options are valid. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions10check_utf8E">
<span id="_CPPv3N5arrow3csv14ConvertOptions10check_utf8E"></span><span id="_CPPv2N5arrow3csv14ConvertOptions10check_utf8E"></span><span id="arrow::csv::ConvertOptions::check_utf8__b"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1a3a09261ff4dd1be595b9c7e426828d50"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">check_utf8</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">true</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions10check_utf8E" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether to check UTF8 validity of string columns. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions12column_typesE">
<span id="_CPPv3N5arrow3csv14ConvertOptions12column_typesE"></span><span id="_CPPv2N5arrow3csv14ConvertOptions12column_typesE"></span><span id="arrow::csv::ConvertOptions::column_types__std::unordered_map:ss.std::shared_ptr:DataType::"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1ae27dbfff052b92e277deaae33b702b11"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unordered_map</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow8DataTypeE" title="arrow::DataType"><span class="n"><span class="pre">DataType</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">column_types</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions12column_typesE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Optional per-column types (disabling type inference on those columns) </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions11null_valuesE">
<span id="_CPPv3N5arrow3csv14ConvertOptions11null_valuesE"></span><span id="_CPPv2N5arrow3csv14ConvertOptions11null_valuesE"></span><span id="arrow::csv::ConvertOptions::null_values__std::vector:ss:"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1a0563bd516e4676fe4bf315105e03eef0"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">null_values</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions11null_valuesE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Recognized spellings for null values. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions11true_valuesE">
<span id="_CPPv3N5arrow3csv14ConvertOptions11true_valuesE"></span><span id="_CPPv2N5arrow3csv14ConvertOptions11true_valuesE"></span><span id="arrow::csv::ConvertOptions::true_values__std::vector:ss:"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1a573b96b8ef90469dc1aec77b16008fb1"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">true_values</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions11true_valuesE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Recognized spellings for boolean true values. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions12false_valuesE">
<span id="_CPPv3N5arrow3csv14ConvertOptions12false_valuesE"></span><span id="_CPPv2N5arrow3csv14ConvertOptions12false_valuesE"></span><span id="arrow::csv::ConvertOptions::false_values__std::vector:ss:"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1adcd43f83150653d00ff3b6ed9f838164"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">false_values</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions12false_valuesE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Recognized spellings for boolean false values. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions19strings_can_be_nullE">
<span id="_CPPv3N5arrow3csv14ConvertOptions19strings_can_be_nullE"></span><span id="_CPPv2N5arrow3csv14ConvertOptions19strings_can_be_nullE"></span><span id="arrow::csv::ConvertOptions::strings_can_be_null__b"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1a7b57ed41d12282439ec2d2d9be4041dc"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">strings_can_be_null</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions19strings_can_be_nullE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether string / binary columns can have null values. </p>
<p>If true, then strings in “null_values” are considered null for string columns. If false, then all strings are valid string values. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions26quoted_strings_can_be_nullE">
<span id="_CPPv3N5arrow3csv14ConvertOptions26quoted_strings_can_be_nullE"></span><span id="_CPPv2N5arrow3csv14ConvertOptions26quoted_strings_can_be_nullE"></span><span id="arrow::csv::ConvertOptions::quoted_strings_can_be_null__b"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1a6a872ad085ad2a85a3cb700b57260c92"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">quoted_strings_can_be_null</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">true</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions26quoted_strings_can_be_nullE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether quoted values can be null. </p>
<p>If true, then strings in “null_values” are also considered null when they appear quoted in the CSV file. Otherwise, quoted values are never considered null. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions16auto_dict_encodeE">
<span id="_CPPv3N5arrow3csv14ConvertOptions16auto_dict_encodeE"></span><span id="_CPPv2N5arrow3csv14ConvertOptions16auto_dict_encodeE"></span><span id="arrow::csv::ConvertOptions::auto_dict_encode__b"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1a24088bd0394a1d243e116102c24cc156"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">auto_dict_encode</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions16auto_dict_encodeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether to try to automatically dict-encode string / binary data. </p>
<p>If true, then when type inference detects a string or binary column, it is dict-encoded up to <code class="docutils literal notranslate"><span class="pre">auto_dict_max_cardinality</span></code> distinct values (per chunk), after which it switches to regular encoding.</p>
<p>This setting is ignored for non-inferred columns (those in <code class="docutils literal notranslate"><span class="pre">column_types</span></code>). </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions13decimal_pointE">
<span id="_CPPv3N5arrow3csv14ConvertOptions13decimal_pointE"></span><span id="_CPPv2N5arrow3csv14ConvertOptions13decimal_pointE"></span><span id="arrow::csv::ConvertOptions::decimal_point__c"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1a4b86b5e7e3b06b2def97e9eda76d5f6f"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">decimal_point</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="sc"><span class="pre">'.'</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions13decimal_pointE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Decimal point character for floating-point and decimal data. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions15include_columnsE">
<span id="_CPPv3N5arrow3csv14ConvertOptions15include_columnsE"></span><span id="_CPPv2N5arrow3csv14ConvertOptions15include_columnsE"></span><span id="arrow::csv::ConvertOptions::include_columns__std::vector:ss:"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1ab1cb583e3843f2523d179716bd1b93cc"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">include_columns</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions15include_columnsE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>If non-empty, indicates the names of columns from the CSV file that should be actually read and converted (in the vector’s order). </p>
<p>Columns not in this vector will be ignored. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions23include_missing_columnsE">
<span id="_CPPv3N5arrow3csv14ConvertOptions23include_missing_columnsE"></span><span id="_CPPv2N5arrow3csv14ConvertOptions23include_missing_columnsE"></span><span id="arrow::csv::ConvertOptions::include_missing_columns__b"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1a065dae99ce03df7d80aa83bdbb82a3ee"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">include_missing_columns</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions23include_missing_columnsE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>If false, columns in <code class="docutils literal notranslate"><span class="pre">include_columns</span></code> but not in the CSV file will error out. </p>
<p>If true, columns in <code class="docutils literal notranslate"><span class="pre">include_columns</span></code> but not in the CSV file will produce a column of nulls (whose type is selected using <code class="docutils literal notranslate"><span class="pre">column_types</span></code>, or null by default) This option is ignored if <code class="docutils literal notranslate"><span class="pre">include_columns</span></code> is empty. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions17timestamp_parsersE">
<span id="_CPPv3N5arrow3csv14ConvertOptions17timestamp_parsersE"></span><span id="_CPPv2N5arrow3csv14ConvertOptions17timestamp_parsersE"></span><span id="arrow::csv::ConvertOptions::timestamp_parsers__std::vector:std::shared_ptr:TimestampParser::"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1a169f323cd9bbbaafa8905a915b42c409"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">TimestampParser</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">timestamp_parsers</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions17timestamp_parsersE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>User-defined timestamp parsers, using the virtual parser interface in arrow/util/value_parsing.h. </p>
<p>More than one parser can be specified, and the CSV conversion logic will try parsing values starting from the beginning of this vector. If no parsers are specified, we use the default built-in ISO-8601 parser. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv14ConvertOptions8DefaultsEv">
<span id="_CPPv3N5arrow3csv14ConvertOptions8DefaultsEv"></span><span id="_CPPv2N5arrow3csv14ConvertOptions8DefaultsEv"></span><span id="arrow::csv::ConvertOptions::Defaults"></span><span class="target" id="structarrow_1_1csv_1_1_convert_options_1acfb8d142582f48a400fc1fd4127c34fe"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3csv14ConvertOptionsE" title="arrow::csv::ConvertOptions"><span class="n"><span class="pre">ConvertOptions</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Defaults</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3csv14ConvertOptions8DefaultsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create conversion options with default values, including conventional values for <code class="docutils literal notranslate"><span class="pre">null_values</span></code>, <code class="docutils literal notranslate"><span class="pre">true_values</span></code> and <code class="docutils literal notranslate"><span class="pre">false_values</span></code></p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12ParseOptionsE">
<span id="_CPPv3N5arrow3csv12ParseOptionsE"></span><span id="_CPPv2N5arrow3csv12ParseOptionsE"></span><span id="arrow::csv::ParseOptions"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ParseOptions</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12ParseOptionsE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3csv12ParseOptions8ValidateEv">
<span id="_CPPv3NK5arrow3csv12ParseOptions8ValidateEv"></span><span id="_CPPv2NK5arrow3csv12ParseOptions8ValidateEv"></span><span id="arrow::csv::ParseOptions::ValidateC"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options_1ae1a6834214ee4c4e791d1a4b3b8f7b1e"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Validate</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow3csv12ParseOptions8ValidateEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Test that all set options are valid. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12ParseOptions9delimiterE">
<span id="_CPPv3N5arrow3csv12ParseOptions9delimiterE"></span><span id="_CPPv2N5arrow3csv12ParseOptions9delimiterE"></span><span id="arrow::csv::ParseOptions::delimiter__c"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options_1a643fe293fbe30e050e1a724d418cd923"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">delimiter</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="sc"><span class="pre">','</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12ParseOptions9delimiterE" title="Permalink to this definition">#</a><br /></dt>
<dd><p><a class="reference internal" href="datatype.html#classarrow_1_1_field"><span class="std std-ref">Field</span></a> delimiter. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12ParseOptions7quotingE">
<span id="_CPPv3N5arrow3csv12ParseOptions7quotingE"></span><span id="_CPPv2N5arrow3csv12ParseOptions7quotingE"></span><span id="arrow::csv::ParseOptions::quoting__b"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options_1a6bd71cca235d202e11af50e9973aaf32"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">quoting</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">true</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12ParseOptions7quotingE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether quoting is used. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12ParseOptions10quote_charE">
<span id="_CPPv3N5arrow3csv12ParseOptions10quote_charE"></span><span id="_CPPv2N5arrow3csv12ParseOptions10quote_charE"></span><span id="arrow::csv::ParseOptions::quote_char__c"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options_1a18786436c836e6a8a5289a21a0d3c338"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">quote_char</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="sc"><span class="pre">'&quot;'</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12ParseOptions10quote_charE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Quoting character (if <code class="docutils literal notranslate"><span class="pre">quoting</span></code> is true) </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12ParseOptions12double_quoteE">
<span id="_CPPv3N5arrow3csv12ParseOptions12double_quoteE"></span><span id="_CPPv2N5arrow3csv12ParseOptions12double_quoteE"></span><span id="arrow::csv::ParseOptions::double_quote__b"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options_1a666dcc4c8c51fa3ace18eb7942bcc309"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">double_quote</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">true</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12ParseOptions12double_quoteE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether a quote inside a value is double-quoted. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12ParseOptions8escapingE">
<span id="_CPPv3N5arrow3csv12ParseOptions8escapingE"></span><span id="_CPPv2N5arrow3csv12ParseOptions8escapingE"></span><span id="arrow::csv::ParseOptions::escaping__b"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options_1a8d29de5703140253b3e5422b78510892"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">escaping</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12ParseOptions8escapingE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether escaping is used. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12ParseOptions11escape_charE">
<span id="_CPPv3N5arrow3csv12ParseOptions11escape_charE"></span><span id="_CPPv2N5arrow3csv12ParseOptions11escape_charE"></span><span id="arrow::csv::ParseOptions::escape_char__c"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options_1ae4a284f4c9a7d7dbe1b4e32847c54c6d"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">escape_char</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">kDefaultEscapeChar</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12ParseOptions11escape_charE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Escaping character (if <code class="docutils literal notranslate"><span class="pre">escaping</span></code> is true) </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12ParseOptions18newlines_in_valuesE">
<span id="_CPPv3N5arrow3csv12ParseOptions18newlines_in_valuesE"></span><span id="_CPPv2N5arrow3csv12ParseOptions18newlines_in_valuesE"></span><span id="arrow::csv::ParseOptions::newlines_in_values__b"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options_1ae49d4e0ce2775d4ccb1cba5bc13baefe"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">newlines_in_values</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12ParseOptions18newlines_in_valuesE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether values are allowed to contain CR (0x0d) and LF (0x0a) characters. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12ParseOptions18ignore_empty_linesE">
<span id="_CPPv3N5arrow3csv12ParseOptions18ignore_empty_linesE"></span><span id="_CPPv2N5arrow3csv12ParseOptions18ignore_empty_linesE"></span><span id="arrow::csv::ParseOptions::ignore_empty_lines__b"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options_1a33afc4ca4d66b25c1b4854bf5cdbfcd0"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ignore_empty_lines</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">true</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12ParseOptions18ignore_empty_linesE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether empty lines are ignored. </p>
<p>If false, an empty line represents a single empty value (assuming a one-column CSV file). </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12ParseOptions19invalid_row_handlerE">
<span id="_CPPv3N5arrow3csv12ParseOptions19invalid_row_handlerE"></span><span id="_CPPv2N5arrow3csv12ParseOptions19invalid_row_handlerE"></span><span id="arrow::csv::ParseOptions::invalid_row_handler__InvalidRowHandler"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options_1a94dad26ab7c0d487bdafc34c2446ae27"></span><span class="n"><span class="pre">InvalidRowHandler</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">invalid_row_handler</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12ParseOptions19invalid_row_handlerE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A handler function for rows which do not have the correct number of columns. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12ParseOptions8DefaultsEv">
<span id="_CPPv3N5arrow3csv12ParseOptions8DefaultsEv"></span><span id="_CPPv2N5arrow3csv12ParseOptions8DefaultsEv"></span><span id="arrow::csv::ParseOptions::Defaults"></span><span class="target" id="structarrow_1_1csv_1_1_parse_options_1a711152ca27eb1f058dfd25a8e2a657e2"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3csv12ParseOptionsE" title="arrow::csv::ParseOptions"><span class="n"><span class="pre">ParseOptions</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Defaults</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3csv12ParseOptions8DefaultsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create parsing options with default values. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11ReadOptionsE">
<span id="_CPPv3N5arrow3csv11ReadOptionsE"></span><span id="_CPPv2N5arrow3csv11ReadOptionsE"></span><span id="arrow::csv::ReadOptions"></span><span class="target" id="structarrow_1_1csv_1_1_read_options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadOptions</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv11ReadOptionsE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3csv11ReadOptions8ValidateEv">
<span id="_CPPv3NK5arrow3csv11ReadOptions8ValidateEv"></span><span id="_CPPv2NK5arrow3csv11ReadOptions8ValidateEv"></span><span id="arrow::csv::ReadOptions::ValidateC"></span><span class="target" id="structarrow_1_1csv_1_1_read_options_1af2bb48a6fed07a592be6bffe26613710"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Validate</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow3csv11ReadOptions8ValidateEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Test that all set options are valid. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11ReadOptions11use_threadsE">
<span id="_CPPv3N5arrow3csv11ReadOptions11use_threadsE"></span><span id="_CPPv2N5arrow3csv11ReadOptions11use_threadsE"></span><span id="arrow::csv::ReadOptions::use_threads__b"></span><span class="target" id="structarrow_1_1csv_1_1_read_options_1a97bcd664f16d146eec40f51a92c1ba86"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">use_threads</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">true</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv11ReadOptions11use_threadsE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether to use the global CPU thread pool. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11ReadOptions10block_sizeE">
<span id="_CPPv3N5arrow3csv11ReadOptions10block_sizeE"></span><span id="_CPPv2N5arrow3csv11ReadOptions10block_sizeE"></span><span id="arrow::csv::ReadOptions::block_size__int32_t"></span><span class="target" id="structarrow_1_1csv_1_1_read_options_1a5c7b8530d3ad282a2e0736d8ab992208"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">block_size</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="w"> </span><span class="o"><span class="pre">&lt;&lt;</span></span><span class="w"> </span><span class="m"><span class="pre">20</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv11ReadOptions10block_sizeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Block size we request from the IO layer. </p>
<p>This will determine multi-threading granularity as well as the size of individual record batches. Minimum valid value for block size is 1 </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11ReadOptions9skip_rowsE">
<span id="_CPPv3N5arrow3csv11ReadOptions9skip_rowsE"></span><span id="_CPPv2N5arrow3csv11ReadOptions9skip_rowsE"></span><span id="arrow::csv::ReadOptions::skip_rows__int32_t"></span><span class="target" id="structarrow_1_1csv_1_1_read_options_1a77e039f9c6f0ebca9a9537eea5498c56"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">skip_rows</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv11ReadOptions9skip_rowsE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Number of header rows to skip (not including the row of column names, if any) </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11ReadOptions21skip_rows_after_namesE">
<span id="_CPPv3N5arrow3csv11ReadOptions21skip_rows_after_namesE"></span><span id="_CPPv2N5arrow3csv11ReadOptions21skip_rows_after_namesE"></span><span id="arrow::csv::ReadOptions::skip_rows_after_names__int32_t"></span><span class="target" id="structarrow_1_1csv_1_1_read_options_1abccd5920c08737d6343a0e71dca220ed"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">skip_rows_after_names</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv11ReadOptions21skip_rows_after_namesE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Number of rows to skip after the column names are read, if any. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11ReadOptions12column_namesE">
<span id="_CPPv3N5arrow3csv11ReadOptions12column_namesE"></span><span id="_CPPv2N5arrow3csv11ReadOptions12column_namesE"></span><span id="arrow::csv::ReadOptions::column_names__std::vector:ss:"></span><span class="target" id="structarrow_1_1csv_1_1_read_options_1a2131cec42d144ddc7670bf63fec3cba3"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">column_names</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv11ReadOptions12column_namesE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Column names for the target table. </p>
<p>If empty, fall back on autogenerate_column_names. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11ReadOptions25autogenerate_column_namesE">
<span id="_CPPv3N5arrow3csv11ReadOptions25autogenerate_column_namesE"></span><span id="_CPPv2N5arrow3csv11ReadOptions25autogenerate_column_namesE"></span><span id="arrow::csv::ReadOptions::autogenerate_column_names__b"></span><span class="target" id="structarrow_1_1csv_1_1_read_options_1a5948a4a6b1a04a730f6806157bdd60d7"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">autogenerate_column_names</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv11ReadOptions25autogenerate_column_namesE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether to autogenerate column names if <code class="docutils literal notranslate"><span class="pre">column_names</span></code> is empty. </p>
<p>If true, column names will be of the form “f0”, “f1”… If false, column names will be read from the first CSV row after <code class="docutils literal notranslate"><span class="pre">skip_rows</span></code>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11ReadOptions8DefaultsEv">
<span id="_CPPv3N5arrow3csv11ReadOptions8DefaultsEv"></span><span id="_CPPv2N5arrow3csv11ReadOptions8DefaultsEv"></span><span id="arrow::csv::ReadOptions::Defaults"></span><span class="target" id="structarrow_1_1csv_1_1_read_options_1aa51eae2caa65a3fb099b443e49190999"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3csv11ReadOptionsE" title="arrow::csv::ReadOptions"><span class="n"><span class="pre">ReadOptions</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Defaults</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3csv11ReadOptions8DefaultsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create read options with default values. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11TableReaderE">
<span id="_CPPv3N5arrow3csv11TableReaderE"></span><span id="_CPPv2N5arrow3csv11TableReaderE"></span><span id="arrow::csv::TableReader"></span><span class="target" id="classarrow_1_1csv_1_1_table_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TableReader</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv11TableReaderE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A class that reads an entire CSV file into a Arrow <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a>. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11TableReader4ReadEv">
<span id="_CPPv3N5arrow3csv11TableReader4ReadEv"></span><span id="_CPPv2N5arrow3csv11TableReader4ReadEv"></span><span id="arrow::csv::TableReader::Read"></span><span class="target" id="classarrow_1_1csv_1_1_table_reader_1a89fdaabb6dd86ab74d74f8bd2ea52a4f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv11TableReader4ReadEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read the entire CSV file and convert it to a Arrow <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11TableReader9ReadAsyncEv">
<span id="_CPPv3N5arrow3csv11TableReader9ReadAsyncEv"></span><span id="_CPPv2N5arrow3csv11TableReader9ReadAsyncEv"></span><span id="arrow::csv::TableReader::ReadAsync"></span><span class="target" id="classarrow_1_1csv_1_1_table_reader_1a64d12d5e8cd62a817c1987a27a343581"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadAsync</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv11TableReader9ReadAsyncEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read the entire CSV file and convert it to a Arrow <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv11TableReader4MakeEN2io9IOContextENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRK14ConvertOptions">
<span id="_CPPv3N5arrow3csv11TableReader4MakeEN2io9IOContextENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRK14ConvertOptions"></span><span id="_CPPv2N5arrow3csv11TableReader4MakeEN2io9IOContextENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRK14ConvertOptions"></span><span id="arrow::csv::TableReader::Make__io::IOContext.std::shared_ptr:io::InputStream:.ReadOptionsCR.ParseOptionsCR.ConvertOptionsCR"></span><span class="target" id="classarrow_1_1csv_1_1_table_reader_1a2de5f3d33eb83243e66789f742709743"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow3csv11TableReaderE" title="arrow::csv::TableReader"><span class="n"><span class="pre">TableReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">io_context</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">input</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3csv11ReadOptionsE" title="arrow::csv::ReadOptions"><span class="n"><span class="pre">ReadOptions</span></span></a><span class="p"><span class="pre">&amp;</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3csv12ParseOptionsE" title="arrow::csv::ParseOptions"><span class="n"><span class="pre">ParseOptions</span></span></a><span class="p"><span class="pre">&amp;</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3csv14ConvertOptionsE" title="arrow::csv::ConvertOptions"><span class="n"><span class="pre">ConvertOptions</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3csv11TableReader4MakeEN2io9IOContextENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRK14ConvertOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create a <a class="reference internal" href="#classarrow_1_1csv_1_1_table_reader"><span class="std std-ref">TableReader</span></a> instance. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv15StreamingReaderE">
<span id="_CPPv3N5arrow3csv15StreamingReaderE"></span><span id="_CPPv2N5arrow3csv15StreamingReaderE"></span><span id="arrow::csv::StreamingReader"></span><span class="target" id="classarrow_1_1csv_1_1_streaming_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">StreamingReader</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow17RecordBatchReaderE" title="arrow::RecordBatchReader"><span class="n"><span class="pre">RecordBatchReader</span></span></a><a class="headerlink" href="#_CPPv4N5arrow3csv15StreamingReaderE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A class that reads a CSV file incrementally. </p>
<p>Caveats:<ul class="simple">
<li><p>For now, this is always single-threaded (regardless of <code class="docutils literal notranslate"><a class="reference internal" href="#structarrow_1_1csv_1_1_read_options_1a97bcd664f16d146eec40f51a92c1ba86"><span class="std std-ref"><span class="pre">ReadOptions::use_threads</span></span></a></code>.</p></li>
<li><p>Type inference is done on the first block and types are frozen afterwards; to make sure the right data types are inferred, either set <code class="docutils literal notranslate"><a class="reference internal" href="#structarrow_1_1csv_1_1_read_options_1a5c7b8530d3ad282a2e0736d8ab992208"><span class="std std-ref"><span class="pre">ReadOptions::block_size</span></span></a></code> to a large enough value, or use <code class="docutils literal notranslate"><a class="reference internal" href="#structarrow_1_1csv_1_1_convert_options_1ae27dbfff052b92e277deaae33b702b11"><span class="std std-ref"><span class="pre">ConvertOptions::column_types</span></span></a></code> to set the desired data types explicitly. </p></li>
</ul>
</p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3csv15StreamingReader10bytes_readEv">
<span id="_CPPv3NK5arrow3csv15StreamingReader10bytes_readEv"></span><span id="_CPPv2NK5arrow3csv15StreamingReader10bytes_readEv"></span><span id="arrow::csv::StreamingReader::bytes_readC"></span><span class="target" id="classarrow_1_1csv_1_1_streaming_reader_1a03d38318d9f6d52d604f5562dbf3460c"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">bytes_read</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow3csv15StreamingReader10bytes_readEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the number of bytes which have been read and processed. </p>
<p>The returned number includes CSV bytes which the <a class="reference internal" href="#classarrow_1_1csv_1_1_streaming_reader"><span class="std std-ref">StreamingReader</span></a> has finished processing, but not bytes for which some processing (e.g. CSV parsing or conversion to Arrow layout) is still ongoing.</p>
<p>Furthermore, the following rules apply:<ul class="simple">
<li><p>bytes skipped by <code class="docutils literal notranslate"><a class="reference internal" href="#structarrow_1_1csv_1_1_read_options_1a77e039f9c6f0ebca9a9537eea5498c56"><span class="std std-ref"><span class="pre">ReadOptions.skip_rows</span></span></a></code> are counted as being read before any records are returned.</p></li>
<li><p>bytes read while parsing the header are counted as being read before any records are returned.</p></li>
<li><p>bytes skipped by <code class="docutils literal notranslate"><a class="reference internal" href="#structarrow_1_1csv_1_1_read_options_1abccd5920c08737d6343a0e71dca220ed"><span class="std std-ref"><span class="pre">ReadOptions.skip_rows_after_names</span></span></a></code> are counted after the first batch is returned. </p></li>
</ul>
</p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv15StreamingReader9MakeAsyncEN2io9IOContextENSt10shared_ptrIN2io11InputStreamEEEPN5arrow8internal8ExecutorERK11ReadOptionsRK12ParseOptionsRK14ConvertOptions">
<span id="_CPPv3N5arrow3csv15StreamingReader9MakeAsyncEN2io9IOContextENSt10shared_ptrIN2io11InputStreamEEEPN5arrow8internal8ExecutorERK11ReadOptionsRK12ParseOptionsRK14ConvertOptions"></span><span id="_CPPv2N5arrow3csv15StreamingReader9MakeAsyncEN2io9IOContextENSt10shared_ptrIN2io11InputStreamEEEPN5arrow8internal8ExecutorERK11ReadOptionsRK12ParseOptionsRK14ConvertOptions"></span><span id="arrow::csv::StreamingReader::MakeAsync__io::IOContext.std::shared_ptr:io::InputStream:.arrow::internal::ExecutorP.ReadOptionsCR.ParseOptionsCR.ConvertOptionsCR"></span><span class="target" id="classarrow_1_1csv_1_1_streaming_reader_1a9f61dc6881f7a55821270a4120484c21"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow3csv15StreamingReaderE" title="arrow::csv::StreamingReader"><span class="n"><span class="pre">StreamingReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MakeAsync</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">io_context</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">input</span></span>, <span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Executor</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">cpu_executor</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3csv11ReadOptionsE" title="arrow::csv::ReadOptions"><span class="n"><span class="pre">ReadOptions</span></span></a><span class="p"><span class="pre">&amp;</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3csv12ParseOptionsE" title="arrow::csv::ParseOptions"><span class="n"><span class="pre">ParseOptions</span></span></a><span class="p"><span class="pre">&amp;</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3csv14ConvertOptionsE" title="arrow::csv::ConvertOptions"><span class="n"><span class="pre">ConvertOptions</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3csv15StreamingReader9MakeAsyncEN2io9IOContextENSt10shared_ptrIN2io11InputStreamEEEPN5arrow8internal8ExecutorERK11ReadOptionsRK12ParseOptionsRK14ConvertOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create a <a class="reference internal" href="#classarrow_1_1csv_1_1_streaming_reader"><span class="std std-ref">StreamingReader</span></a> instance. </p>
<p>This involves some I/O as the first batch must be loaded during the creation process so it is returned as a future</p>
<p>Currently, the <a class="reference internal" href="#classarrow_1_1csv_1_1_streaming_reader"><span class="std std-ref">StreamingReader</span></a> is not async-reentrant and does not do any fan-out parsing (see ARROW-11889) </p>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="csv-writer">
<h2>CSV writer<a class="headerlink" href="#csv-writer" title="Permalink to this heading">#</a></h2>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12WriteOptionsE">
<span id="_CPPv3N5arrow3csv12WriteOptionsE"></span><span id="_CPPv2N5arrow3csv12WriteOptionsE"></span><span id="arrow::csv::WriteOptions"></span><span class="target" id="structarrow_1_1csv_1_1_write_options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteOptions</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12WriteOptionsE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow3csv12WriteOptions8ValidateEv">
<span id="_CPPv3NK5arrow3csv12WriteOptions8ValidateEv"></span><span id="_CPPv2NK5arrow3csv12WriteOptions8ValidateEv"></span><span id="arrow::csv::WriteOptions::ValidateC"></span><span class="target" id="structarrow_1_1csv_1_1_write_options_1a32e283b4a9dcd66c4cd6ac200975be16"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Validate</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK5arrow3csv12WriteOptions8ValidateEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Test that all set options are valid. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12WriteOptions14include_headerE">
<span id="_CPPv3N5arrow3csv12WriteOptions14include_headerE"></span><span id="_CPPv2N5arrow3csv12WriteOptions14include_headerE"></span><span id="arrow::csv::WriteOptions::include_header__b"></span><span class="target" id="structarrow_1_1csv_1_1_write_options_1aef8f80f2c6420682faf2cef6c4be9042"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">include_header</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">true</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12WriteOptions14include_headerE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether to write an initial header line with column names. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12WriteOptions10batch_sizeE">
<span id="_CPPv3N5arrow3csv12WriteOptions10batch_sizeE"></span><span id="_CPPv2N5arrow3csv12WriteOptions10batch_sizeE"></span><span id="arrow::csv::WriteOptions::batch_size__int32_t"></span><span class="target" id="structarrow_1_1csv_1_1_write_options_1a2f884ed6b1f55b6366dbded88b770a83"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">batch_size</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1024</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12WriteOptions10batch_sizeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Maximum number of rows processed at a time. </p>
<p>The CSV writer converts and writes data in batches of N rows. This number can impact performance. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12WriteOptions9delimiterE">
<span id="_CPPv3N5arrow3csv12WriteOptions9delimiterE"></span><span id="_CPPv2N5arrow3csv12WriteOptions9delimiterE"></span><span id="arrow::csv::WriteOptions::delimiter__c"></span><span class="target" id="structarrow_1_1csv_1_1_write_options_1a232ed55f5aa395ba41144d7b97f64e8d"></span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">delimiter</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="sc"><span class="pre">','</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12WriteOptions9delimiterE" title="Permalink to this definition">#</a><br /></dt>
<dd><p><a class="reference internal" href="datatype.html#classarrow_1_1_field"><span class="std std-ref">Field</span></a> delimiter. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12WriteOptions11null_stringE">
<span id="_CPPv3N5arrow3csv12WriteOptions11null_stringE"></span><span id="_CPPv2N5arrow3csv12WriteOptions11null_stringE"></span><span id="arrow::csv::WriteOptions::null_string__ss"></span><span class="target" id="structarrow_1_1csv_1_1_write_options_1aca9d662b61b8906fdfaa547e18907f8e"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">null_string</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12WriteOptions11null_stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The string to write for null values. Quotes are not allowed in this string. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12WriteOptions10io_contextE">
<span id="_CPPv3N5arrow3csv12WriteOptions10io_contextE"></span><span id="_CPPv2N5arrow3csv12WriteOptions10io_contextE"></span><span id="arrow::csv::WriteOptions::io_context__io::IOContext"></span><span class="target" id="structarrow_1_1csv_1_1_write_options_1a81d1f535bb4da6cdcffe0814a9786a2e"></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">io_context</span></span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12WriteOptions10io_contextE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>IO context for writing. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12WriteOptions3eolE">
<span id="_CPPv3N5arrow3csv12WriteOptions3eolE"></span><span id="_CPPv2N5arrow3csv12WriteOptions3eolE"></span><span id="arrow::csv::WriteOptions::eol__ss"></span><span class="target" id="structarrow_1_1csv_1_1_write_options_1ade9f6a94d68800c98597a5c3b0e5b1b3"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">eol</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="s"><span class="pre">&quot;\n&quot;</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12WriteOptions3eolE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The end of line character to use for ending rows. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12WriteOptions13quoting_styleE">
<span id="_CPPv3N5arrow3csv12WriteOptions13quoting_styleE"></span><span id="_CPPv2N5arrow3csv12WriteOptions13quoting_styleE"></span><span id="arrow::csv::WriteOptions::quoting_style__QuotingStyle"></span><span class="target" id="structarrow_1_1csv_1_1_write_options_1a0897224871c31e6224420795ff876b45"></span><span class="n"><span class="pre">QuotingStyle</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">quoting_style</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">QuotingStyle</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Needed</span></span><a class="headerlink" href="#_CPPv4N5arrow3csv12WriteOptions13quoting_styleE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Quoting style. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow3csv12WriteOptions8DefaultsEv">
<span id="_CPPv3N5arrow3csv12WriteOptions8DefaultsEv"></span><span id="_CPPv2N5arrow3csv12WriteOptions8DefaultsEv"></span><span id="arrow::csv::WriteOptions::Defaults"></span><span class="target" id="structarrow_1_1csv_1_1_write_options_1af38d818d87e10739d0b472f376bf23e1"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow3csv12WriteOptionsE" title="arrow::csv::WriteOptions"><span class="n"><span class="pre">WriteOptions</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Defaults</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow3csv12WriteOptions8DefaultsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create write options with default values. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv48WriteCSVRK5TableRK12WriteOptionsPN5arrow2io12OutputStreamE">
<span id="_CPPv38WriteCSVRK5TableRK12WriteOptionsPN5arrow2io12OutputStreamE"></span><span id="_CPPv28WriteCSVRK5TableRK12WriteOptionsPN5arrow2io12OutputStreamE"></span><span id="WriteCSV__TableCR.WriteOptionsCR.arrow::io::OutputStreamP"></span><span class="target" id="group__csv-write-functions_1gae55f27b48919d3ac81b3d9562e5ea328"></span><span class="n"><span class="pre">Status</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteCSV</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">Table</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">table</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">WriteOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span>, <span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">output</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv48WriteCSVRK5TableRK12WriteOptionsPN5arrow2io12OutputStreamE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Convert table to CSV and write the result to output. </p>
<p>Experimental </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv48WriteCSVRK11RecordBatchRK12WriteOptionsPN5arrow2io12OutputStreamE">
<span id="_CPPv38WriteCSVRK11RecordBatchRK12WriteOptionsPN5arrow2io12OutputStreamE"></span><span id="_CPPv28WriteCSVRK11RecordBatchRK12WriteOptionsPN5arrow2io12OutputStreamE"></span><span id="WriteCSV__RecordBatchCR.WriteOptionsCR.arrow::io::OutputStreamP"></span><span class="target" id="group__csv-write-functions_1ga3a122b3f28c6e505b93e0fcd2b378ef8"></span><span class="n"><span class="pre">Status</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteCSV</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">RecordBatch</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">batch</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">WriteOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span>, <span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">output</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv48WriteCSVRK11RecordBatchRK12WriteOptionsPN5arrow2io12OutputStreamE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Convert batch to CSV and write the result to output. </p>
<p>Experimental </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv48WriteCSVRKNSt10shared_ptrI17RecordBatchReaderEERK12WriteOptionsPN5arrow2io12OutputStreamE">
<span id="_CPPv38WriteCSVRKNSt10shared_ptrI17RecordBatchReaderEERK12WriteOptionsPN5arrow2io12OutputStreamE"></span><span id="_CPPv28WriteCSVRKNSt10shared_ptrI17RecordBatchReaderEERK12WriteOptionsPN5arrow2io12OutputStreamE"></span><span id="WriteCSV__std::shared_ptr:RecordBatchReader:CR.WriteOptionsCR.arrow::io::OutputStreamP"></span><span class="target" id="group__csv-write-functions_1gac9486cc263389b76696fc409b128fbc0"></span><span class="n"><span class="pre">Status</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteCSV</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">RecordBatchReader</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">reader</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">WriteOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span>, <span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">output</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv48WriteCSVRKNSt10shared_ptrI17RecordBatchReaderEERK12WriteOptionsPN5arrow2io12OutputStreamE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Convert batches read through a <a class="reference internal" href="table.html#classarrow_1_1_record_batch_reader"><span class="std std-ref">RecordBatchReader</span></a> to CSV and write the results to output. </p>
<p>Experimental </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv413MakeCSVWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK12WriteOptions">
<span id="_CPPv313MakeCSVWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK12WriteOptions"></span><span id="_CPPv213MakeCSVWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK12WriteOptions"></span><span id="MakeCSVWriter__std::shared_ptr:io::OutputStream:.std::shared_ptr:Schema:CR.WriteOptionsCR"></span><span class="target" id="group__csv-writer-factories_1gaf3087d8c3da92b5c544d6e43fedc1a96"></span><span class="n"><span class="pre">Result</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ipc</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">RecordBatchWriter</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MakeCSVWriter</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">OutputStream</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">sink</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">Schema</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">schema</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">WriteOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">WriteOptions</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Defaults</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv413MakeCSVWriterNSt10shared_ptrIN2io12OutputStreamEEERKNSt10shared_ptrI6SchemaEERK12WriteOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create a new CSV writer. </p>
<p>User is responsible for closing the actual OutputStream.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>sink</strong><strong>[in]</strong> output stream to write to </p></li>
<li><p><strong>schema</strong><strong>[in]</strong> the schema of the record batches to be written </p></li>
<li><p><strong>options</strong><strong>[in]</strong> options for serialization </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_result"><span class="std std-ref">Result</span></a>&lt;std::shared_ptr&lt;RecordBatchWriter&gt;&gt; </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv413MakeCSVWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK12WriteOptions">
<span id="_CPPv313MakeCSVWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK12WriteOptions"></span><span id="_CPPv213MakeCSVWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK12WriteOptions"></span><span id="MakeCSVWriter__io::OutputStreamP.std::shared_ptr:Schema:CR.WriteOptionsCR"></span><span class="target" id="group__csv-writer-factories_1ga204e546f7e433c8f2ff6cd4728de744d"></span><span class="n"><span class="pre">Result</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">ipc</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">RecordBatchWriter</span></span><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MakeCSVWriter</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">OutputStream</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">sink</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">Schema</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">schema</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">WriteOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">WriteOptions</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Defaults</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv413MakeCSVWriterPN2io12OutputStreamERKNSt10shared_ptrI6SchemaEERK12WriteOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create a new CSV writer. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>sink</strong><strong>[in]</strong> output stream to write to (does not take ownership) </p></li>
<li><p><strong>schema</strong><strong>[in]</strong> the schema of the record batches to be written </p></li>
<li><p><strong>options</strong><strong>[in]</strong> options for serialization </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_result"><span class="std std-ref">Result</span></a>&lt;std::shared_ptr&lt;RecordBatchWriter&gt;&gt; </p>
</dd>
</dl>
</dd></dl>
</section>
<section id="line-separated-json">
<span id="cpp-api-json"></span><h2>Line-separated JSON<a class="headerlink" href="#line-separated-json" title="Permalink to this heading">#</a></h2>
<dl class="cpp enum-class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json23UnexpectedFieldBehaviorE">
<span id="_CPPv3N5arrow4json23UnexpectedFieldBehaviorE"></span><span id="_CPPv2N5arrow4json23UnexpectedFieldBehaviorE"></span><span class="target" id="namespacearrow_1_1json_1a0a9ff33c277d8effb0b8029baf388056"></span><span class="k"><span class="pre">enum</span></span><span class="w"> </span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">json</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">UnexpectedFieldBehavior</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><a class="headerlink" href="#_CPPv4N5arrow4json23UnexpectedFieldBehaviorE" title="Permalink to this definition">#</a><br /></dt>
<dd><p><em>Values:</em></p>
<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json23UnexpectedFieldBehavior6IgnoreE">
<span id="_CPPv3N5arrow4json23UnexpectedFieldBehavior6IgnoreE"></span><span id="_CPPv2N5arrow4json23UnexpectedFieldBehavior6IgnoreE"></span><span class="target" id="namespacearrow_1_1json_1a0a9ff33c277d8effb0b8029baf388056afd038fc7f319e48f3115d92bf5bdbef9"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Ignore</span></span></span><a class="headerlink" href="#_CPPv4N5arrow4json23UnexpectedFieldBehavior6IgnoreE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Unexpected JSON fields are ignored. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json23UnexpectedFieldBehavior5ErrorE">
<span id="_CPPv3N5arrow4json23UnexpectedFieldBehavior5ErrorE"></span><span id="_CPPv2N5arrow4json23UnexpectedFieldBehavior5ErrorE"></span><span class="target" id="namespacearrow_1_1json_1a0a9ff33c277d8effb0b8029baf388056a902b0d55fddef6f8d651fe1035b7d4bd"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Error</span></span></span><a class="headerlink" href="#_CPPv4N5arrow4json23UnexpectedFieldBehavior5ErrorE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Unexpected JSON fields error out. </p>
</dd></dl>
<dl class="cpp enumerator">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json23UnexpectedFieldBehavior9InferTypeE">
<span id="_CPPv3N5arrow4json23UnexpectedFieldBehavior9InferTypeE"></span><span id="_CPPv2N5arrow4json23UnexpectedFieldBehavior9InferTypeE"></span><span class="target" id="namespacearrow_1_1json_1a0a9ff33c277d8effb0b8029baf388056af4ff566055b0218236801a62db87e218"></span><span class="k"><span class="pre">enumerator</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">InferType</span></span></span><a class="headerlink" href="#_CPPv4N5arrow4json23UnexpectedFieldBehavior9InferTypeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Unexpected JSON fields are type-inferred and included in the output. </p>
</dd></dl>
</dd></dl>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json11ReadOptionsE">
<span id="_CPPv3N5arrow4json11ReadOptionsE"></span><span id="_CPPv2N5arrow4json11ReadOptionsE"></span><span id="arrow::json::ReadOptions"></span><span class="target" id="structarrow_1_1json_1_1_read_options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadOptions</span></span></span><a class="headerlink" href="#_CPPv4N5arrow4json11ReadOptionsE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json11ReadOptions11use_threadsE">
<span id="_CPPv3N5arrow4json11ReadOptions11use_threadsE"></span><span id="_CPPv2N5arrow4json11ReadOptions11use_threadsE"></span><span id="arrow::json::ReadOptions::use_threads__b"></span><span class="target" id="structarrow_1_1json_1_1_read_options_1a9ee476086378bf9d4f14ca96646ca226"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">use_threads</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">true</span></span><a class="headerlink" href="#_CPPv4N5arrow4json11ReadOptions11use_threadsE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether to use the global CPU thread pool. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json11ReadOptions10block_sizeE">
<span id="_CPPv3N5arrow4json11ReadOptions10block_sizeE"></span><span id="_CPPv2N5arrow4json11ReadOptions10block_sizeE"></span><span id="arrow::json::ReadOptions::block_size__int32_t"></span><span class="target" id="structarrow_1_1json_1_1_read_options_1a1b646b942fa1b8fb09243757774ca7fa"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">block_size</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1</span></span><span class="w"> </span><span class="o"><span class="pre">&lt;&lt;</span></span><span class="w"> </span><span class="m"><span class="pre">20</span></span><a class="headerlink" href="#_CPPv4N5arrow4json11ReadOptions10block_sizeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Block size we request from the IO layer; also determines the size of chunks when use_threads is true. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json11ReadOptions8DefaultsEv">
<span id="_CPPv3N5arrow4json11ReadOptions8DefaultsEv"></span><span id="_CPPv2N5arrow4json11ReadOptions8DefaultsEv"></span><span id="arrow::json::ReadOptions::Defaults"></span><span class="target" id="structarrow_1_1json_1_1_read_options_1a5c5b21da5280abd29077cdb608351de0"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow4json11ReadOptionsE" title="arrow::json::ReadOptions"><span class="n"><span class="pre">ReadOptions</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Defaults</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4json11ReadOptions8DefaultsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create read options with default values. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json12ParseOptionsE">
<span id="_CPPv3N5arrow4json12ParseOptionsE"></span><span id="_CPPv2N5arrow4json12ParseOptionsE"></span><span id="arrow::json::ParseOptions"></span><span class="target" id="structarrow_1_1json_1_1_parse_options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ParseOptions</span></span></span><a class="headerlink" href="#_CPPv4N5arrow4json12ParseOptionsE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json12ParseOptions15explicit_schemaE">
<span id="_CPPv3N5arrow4json12ParseOptions15explicit_schemaE"></span><span id="_CPPv2N5arrow4json12ParseOptions15explicit_schemaE"></span><span id="arrow::json::ParseOptions::explicit_schema__std::shared_ptr:Schema:"></span><span class="target" id="structarrow_1_1json_1_1_parse_options_1a8188ab9bf8f6b45c1023606bbb91aba1"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow6SchemaE" title="arrow::Schema"><span class="n"><span class="pre">Schema</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">explicit_schema</span></span></span><a class="headerlink" href="#_CPPv4N5arrow4json12ParseOptions15explicit_schemaE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Optional explicit schema (disables type inference on those fields) </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json12ParseOptions18newlines_in_valuesE">
<span id="_CPPv3N5arrow4json12ParseOptions18newlines_in_valuesE"></span><span id="_CPPv2N5arrow4json12ParseOptions18newlines_in_valuesE"></span><span id="arrow::json::ParseOptions::newlines_in_values__b"></span><span class="target" id="structarrow_1_1json_1_1_parse_options_1a121476145f1f8966f02c8cd53fd9b3b4"></span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">newlines_in_values</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span><a class="headerlink" href="#_CPPv4N5arrow4json12ParseOptions18newlines_in_valuesE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Whether objects may be printed across multiple lines (for example pretty-printed) </p>
<p>If true, parsing may be slower. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json12ParseOptions25unexpected_field_behaviorE">
<span id="_CPPv3N5arrow4json12ParseOptions25unexpected_field_behaviorE"></span><span id="_CPPv2N5arrow4json12ParseOptions25unexpected_field_behaviorE"></span><span id="arrow::json::ParseOptions::unexpected_field_behavior__UnexpectedFieldBehavior"></span><span class="target" id="structarrow_1_1json_1_1_parse_options_1a75e6b83fab902c53c0b710252b882792"></span><a class="reference internal" href="#_CPPv4N5arrow4json23UnexpectedFieldBehaviorE" title="arrow::json::UnexpectedFieldBehavior"><span class="n"><span class="pre">UnexpectedFieldBehavior</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">unexpected_field_behavior</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow4json23UnexpectedFieldBehaviorE" title="arrow::json::UnexpectedFieldBehavior"><span class="n"><span class="pre">UnexpectedFieldBehavior</span></span></a><span class="p"><span class="pre">::</span></span><a class="reference internal" href="#_CPPv4N5arrow4json23UnexpectedFieldBehavior9InferTypeE" title="arrow::json::UnexpectedFieldBehavior::InferType"><span class="n"><span class="pre">InferType</span></span></a><a class="headerlink" href="#_CPPv4N5arrow4json12ParseOptions25unexpected_field_behaviorE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>How JSON fields outside of explicit_schema (if given) are treated. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json12ParseOptions8DefaultsEv">
<span id="_CPPv3N5arrow4json12ParseOptions8DefaultsEv"></span><span id="_CPPv2N5arrow4json12ParseOptions8DefaultsEv"></span><span id="arrow::json::ParseOptions::Defaults"></span><span class="target" id="structarrow_1_1json_1_1_parse_options_1a7292d6f7e5df9b505e3d06789fc5138e"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow4json12ParseOptionsE" title="arrow::json::ParseOptions"><span class="n"><span class="pre">ParseOptions</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Defaults</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4json12ParseOptions8DefaultsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create parsing options with default values. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json11TableReaderE">
<span id="_CPPv3N5arrow4json11TableReaderE"></span><span id="_CPPv2N5arrow4json11TableReaderE"></span><span id="arrow::json::TableReader"></span><span class="target" id="classarrow_1_1json_1_1_table_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">TableReader</span></span></span><a class="headerlink" href="#_CPPv4N5arrow4json11TableReaderE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A class that reads an entire JSON file into a Arrow <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a>. </p>
<p>The file is expected to consist of individual line-separated JSON objects </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json11TableReader4ReadEv">
<span id="_CPPv3N5arrow4json11TableReader4ReadEv"></span><span id="_CPPv2N5arrow4json11TableReader4ReadEv"></span><span id="arrow::json::TableReader::Read"></span><span class="target" id="classarrow_1_1json_1_1_table_reader_1a0b3cde4dde865e24b2445f1eca2a313e"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow4json11TableReader4ReadEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read the entire JSON file and convert it to a Arrow <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a>. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json11TableReader4MakeEP10MemoryPoolNSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptions">
<span id="_CPPv3N5arrow4json11TableReader4MakeEP10MemoryPoolNSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptions"></span><span id="_CPPv2N5arrow4json11TableReader4MakeEP10MemoryPoolNSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptions"></span><span id="arrow::json::TableReader::Make__MemoryPoolP.std::shared_ptr:io::InputStream:.ReadOptionsCR.ParseOptionsCR"></span><span class="target" id="classarrow_1_1json_1_1_table_reader_1abfc16ea9fab9541b2b528cf3067c71fc"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4json11TableReaderE" title="arrow::json::TableReader"><span class="n"><span class="pre">TableReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">input</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow4json11ReadOptionsE" title="arrow::json::ReadOptions"><span class="n"><span class="pre">ReadOptions</span></span></a><span class="p"><span class="pre">&amp;</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow4json12ParseOptionsE" title="arrow::json::ParseOptions"><span class="n"><span class="pre">ParseOptions</span></span></a><span class="p"><span class="pre">&amp;</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4json11TableReader4MakeEP10MemoryPoolNSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create a <a class="reference internal" href="#classarrow_1_1json_1_1_table_reader"><span class="std std-ref">TableReader</span></a> instance. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json15StreamingReaderE">
<span id="_CPPv3N5arrow4json15StreamingReaderE"></span><span id="_CPPv2N5arrow4json15StreamingReaderE"></span><span id="arrow::json::StreamingReader"></span><span class="target" id="classarrow_1_1json_1_1_streaming_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">StreamingReader</span></span></span><span class="w"> </span><span class="p"><span class="pre">:</span></span><span class="w"> </span><span class="k"><span class="pre">public</span></span><span class="w"> </span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow17RecordBatchReaderE" title="arrow::RecordBatchReader"><span class="n"><span class="pre">RecordBatchReader</span></span></a><a class="headerlink" href="#_CPPv4N5arrow4json15StreamingReaderE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A class that reads a JSON file incrementally. </p>
<p>JSON data is read from a stream in fixed-size blocks (configurable with <code class="docutils literal notranslate"><a class="reference internal" href="#structarrow_1_1json_1_1_read_options_1a1b646b942fa1b8fb09243757774ca7fa"><span class="std std-ref"><span class="pre">ReadOptions::block_size</span></span></a></code>). Each block is converted to a <code class="docutils literal notranslate"><a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref"><span class="pre">RecordBatch</span></span></a></code>. Yielded batches have a consistent schema but may differ in row count.</p>
<p>The supplied <code class="docutils literal notranslate"><a class="reference internal" href="#structarrow_1_1json_1_1_parse_options"><span class="std std-ref"><span class="pre">ParseOptions</span></span></a></code> are used to determine a schema, based either on a provided explicit schema or inferred from the first non-empty block. Afterwards, the target schema is frozen. If <code class="docutils literal notranslate"><a class="reference internal" href="#namespacearrow_1_1json_1a0a9ff33c277d8effb0b8029baf388056af4ff566055b0218236801a62db87e218"><span class="std std-ref"><span class="pre">UnexpectedFieldBehavior::InferType</span></span></a></code> is specified, unexpected fields will only be inferred for the first block. Afterwards they’ll be treated as errors.</p>
<p>If <code class="docutils literal notranslate"><a class="reference internal" href="#structarrow_1_1json_1_1_read_options_1a9ee476086378bf9d4f14ca96646ca226"><span class="std std-ref"><span class="pre">ReadOptions::use_threads</span></span></a></code> is <code class="docutils literal notranslate"><span class="pre">true</span></code>, each block’s parsing/decoding task will be parallelized on the given <code class="docutils literal notranslate"><span class="pre">cpu_executor</span></code> (with readahead corresponding to the executor’s capacity). If an executor isn’t provided, the global thread pool will be used.</p>
<p>If <code class="docutils literal notranslate"><a class="reference internal" href="#structarrow_1_1json_1_1_read_options_1a9ee476086378bf9d4f14ca96646ca226"><span class="std std-ref"><span class="pre">ReadOptions::use_threads</span></span></a></code> is <code class="docutils literal notranslate"><span class="pre">false</span></code>, computations will be run on the calling thread and <code class="docutils literal notranslate"><span class="pre">cpu_executor</span></code> will be ignored. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json15StreamingReader13ReadNextAsyncEv">
<span id="_CPPv3N5arrow4json15StreamingReader13ReadNextAsyncEv"></span><span id="_CPPv2N5arrow4json15StreamingReader13ReadNextAsyncEv"></span><span id="arrow::json::StreamingReader::ReadNextAsync"></span><span class="target" id="classarrow_1_1json_1_1_streaming_reader_1ad4f0361f7c0dd0f3898230eeb939d921"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow11RecordBatchE" title="arrow::RecordBatch"><span class="n"><span class="pre">RecordBatch</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadNextAsync</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N5arrow4json15StreamingReader13ReadNextAsyncEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read the next <code class="docutils literal notranslate"><a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref"><span class="pre">RecordBatch</span></span></a></code> asynchronously This function is async-reentrant (but not synchronously reentrant). </p>
<p>However, if threading is disabled, this will block until completion. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK5arrow4json15StreamingReader15bytes_processedEv">
<span id="_CPPv3NK5arrow4json15StreamingReader15bytes_processedEv"></span><span id="_CPPv2NK5arrow4json15StreamingReader15bytes_processedEv"></span><span id="arrow::json::StreamingReader::bytes_processedC"></span><span class="target" id="classarrow_1_1json_1_1_streaming_reader_1a455690710187eb3f15f06a3a1fe2c934"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">bytes_processed</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK5arrow4json15StreamingReader15bytes_processedEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the number of bytes which have been successfully converted to record batches and consumed. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json15StreamingReader4MakeENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRKN2io9IOContextEPN5arrow8internal8ExecutorE">
<span id="_CPPv3N5arrow4json15StreamingReader4MakeENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRKN2io9IOContextEPN5arrow8internal8ExecutorE"></span><span id="_CPPv2N5arrow4json15StreamingReader4MakeENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRKN2io9IOContextEPN5arrow8internal8ExecutorE"></span><span id="arrow::json::StreamingReader::Make__std::shared_ptr:io::InputStream:.ReadOptionsCR.ParseOptionsCR.io::IOContextCR.arrow::internal::ExecutorP"></span><span class="target" id="classarrow_1_1json_1_1_streaming_reader_1a3a483a1fb7e52b9c1dd55e26594953e2"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4json15StreamingReaderE" title="arrow::json::StreamingReader"><span class="n"><span class="pre">StreamingReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">stream</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow4json11ReadOptionsE" title="arrow::json::ReadOptions"><span class="n"><span class="pre">ReadOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">read_options</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow4json12ParseOptionsE" title="arrow::json::ParseOptions"><span class="n"><span class="pre">ParseOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">parse_options</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">io_context</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">default_io_context</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span>, <span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Executor</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">cpu_executor</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4json15StreamingReader4MakeENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRKN2io9IOContextEPN5arrow8internal8ExecutorE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create a <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1json_1_1_streaming_reader"><span class="std std-ref"><span class="pre">StreamingReader</span></span></a></code> from an <code class="docutils literal notranslate"><span class="pre">InputStream</span></code> Blocks until the initial batch is loaded. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>stream</strong><strong>[in]</strong> JSON source stream </p></li>
<li><p><strong>read_options</strong><strong>[in]</strong> Options for reading </p></li>
<li><p><strong>parse_options</strong><strong>[in]</strong> Options for chunking, parsing, and conversion </p></li>
<li><p><strong>io_context</strong><strong>[in]</strong> Context for IO operations (optional) </p></li>
<li><p><strong>cpu_executor</strong><strong>[in]</strong> Executor for computation tasks (optional) </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>The initialized reader </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow4json15StreamingReader9MakeAsyncENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRKN2io9IOContextEPN5arrow8internal8ExecutorE">
<span id="_CPPv3N5arrow4json15StreamingReader9MakeAsyncENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRKN2io9IOContextEPN5arrow8internal8ExecutorE"></span><span id="_CPPv2N5arrow4json15StreamingReader9MakeAsyncENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRKN2io9IOContextEPN5arrow8internal8ExecutorE"></span><span id="arrow::json::StreamingReader::MakeAsync__std::shared_ptr:io::InputStream:.ReadOptionsCR.ParseOptionsCR.io::IOContextCR.arrow::internal::ExecutorP"></span><span class="target" id="classarrow_1_1json_1_1_streaming_reader_1a235c70db16de287c69f9da6be3bddebc"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow4json15StreamingReaderE" title="arrow::json::StreamingReader"><span class="n"><span class="pre">StreamingReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">MakeAsync</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io11InputStreamE" title="arrow::io::InputStream"><span class="n"><span class="pre">InputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">stream</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow4json11ReadOptionsE" title="arrow::json::ReadOptions"><span class="n"><span class="pre">ReadOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">read_options</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow4json12ParseOptionsE" title="arrow::json::ParseOptions"><span class="n"><span class="pre">ParseOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">parse_options</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">io_context</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">default_io_context</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span>, <span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Executor</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">cpu_executor</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow4json15StreamingReader9MakeAsyncENSt10shared_ptrIN2io11InputStreamEEERK11ReadOptionsRK12ParseOptionsRKN2io9IOContextEPN5arrow8internal8ExecutorE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create a <code class="docutils literal notranslate"><a class="reference internal" href="#classarrow_1_1json_1_1_streaming_reader"><span class="std std-ref"><span class="pre">StreamingReader</span></span></a></code> from an <code class="docutils literal notranslate"><span class="pre">InputStream</span></code> asynchronously Returned future completes after loading the first batch. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>stream</strong><strong>[in]</strong> JSON source stream </p></li>
<li><p><strong>read_options</strong><strong>[in]</strong> Options for reading </p></li>
<li><p><strong>parse_options</strong><strong>[in]</strong> Options for chunking, parsing, and conversion </p></li>
<li><p><strong>io_context</strong><strong>[in]</strong> Context for IO operations (optional) </p></li>
<li><p><strong>cpu_executor</strong><strong>[in]</strong> Executor for computation tasks (optional) </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="async.html#classarrow_1_1_future"><span class="std std-ref">Future</span></a> for the initialized reader </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="parquet-reader">
<span id="cpp-api-parquet"></span><h2>Parquet reader<a class="headerlink" href="#parquet-reader" title="Permalink to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16ReaderPropertiesE">
<span id="_CPPv3N7parquet16ReaderPropertiesE"></span><span id="_CPPv2N7parquet16ReaderPropertiesE"></span><span id="parquet::ReaderProperties"></span><span class="target" id="classparquet_1_1_reader_properties"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReaderProperties</span></span></span><a class="headerlink" href="#_CPPv4N7parquet16ReaderPropertiesE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet16ReaderProperties26is_buffered_stream_enabledEv">
<span id="_CPPv3NK7parquet16ReaderProperties26is_buffered_stream_enabledEv"></span><span id="_CPPv2NK7parquet16ReaderProperties26is_buffered_stream_enabledEv"></span><span id="parquet::ReaderProperties::is_buffered_stream_enabledC"></span><span class="target" id="classparquet_1_1_reader_properties_1a2350c58dc5f3454602cd7d64d786e6e4"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">is_buffered_stream_enabled</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet16ReaderProperties26is_buffered_stream_enabledEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Buffered stream reading allows the user to control the memory usage of parquet readers. </p>
<p>This ensure that all <code class="docutils literal notranslate"><span class="pre">RandomAccessFile::ReadAt</span></code> calls are wrapped in a buffered reader that uses a fix sized buffer (of size <code class="docutils literal notranslate"><a class="reference internal" href="#classparquet_1_1_reader_properties_1a515d86a6632960ff778f65492c1de3cb"><span class="std std-ref"><span class="pre">buffer_size()</span></span></a></code>) instead of the full size of the ReadAt.</p>
<p>The primary reason for this control knobs is for resource control and not performance. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16ReaderProperties22enable_buffered_streamEv">
<span id="_CPPv3N7parquet16ReaderProperties22enable_buffered_streamEv"></span><span id="_CPPv2N7parquet16ReaderProperties22enable_buffered_streamEv"></span><span id="parquet::ReaderProperties::enable_buffered_stream"></span><span class="target" id="classparquet_1_1_reader_properties_1a1ba8bac8d20ba468b5327e0922973c10"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">enable_buffered_stream</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16ReaderProperties22enable_buffered_streamEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable buffered stream reading. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16ReaderProperties23disable_buffered_streamEv">
<span id="_CPPv3N7parquet16ReaderProperties23disable_buffered_streamEv"></span><span id="_CPPv2N7parquet16ReaderProperties23disable_buffered_streamEv"></span><span id="parquet::ReaderProperties::disable_buffered_stream"></span><span class="target" id="classparquet_1_1_reader_properties_1af93b802d1d0830bfd424b33ebd5618d9"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">disable_buffered_stream</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16ReaderProperties23disable_buffered_streamEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable buffered stream reading. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet16ReaderProperties11buffer_sizeEv">
<span id="_CPPv3NK7parquet16ReaderProperties11buffer_sizeEv"></span><span id="_CPPv2NK7parquet16ReaderProperties11buffer_sizeEv"></span><span id="parquet::ReaderProperties::buffer_sizeC"></span><span class="target" id="classparquet_1_1_reader_properties_1a515d86a6632960ff778f65492c1de3cb"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">buffer_size</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet16ReaderProperties11buffer_sizeEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the size of the buffered stream buffer. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16ReaderProperties15set_buffer_sizeE7int64_t">
<span id="_CPPv3N7parquet16ReaderProperties15set_buffer_sizeE7int64_t"></span><span id="_CPPv2N7parquet16ReaderProperties15set_buffer_sizeE7int64_t"></span><span id="parquet::ReaderProperties::set_buffer_size__int64_t"></span><span class="target" id="classparquet_1_1_reader_properties_1aee354462ca9a292301606a5cbc3a9fc0"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_buffer_size</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16ReaderProperties15set_buffer_sizeE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set the size of the buffered stream buffer in bytes. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet16ReaderProperties24thrift_string_size_limitEv">
<span id="_CPPv3NK7parquet16ReaderProperties24thrift_string_size_limitEv"></span><span id="_CPPv2NK7parquet16ReaderProperties24thrift_string_size_limitEv"></span><span id="parquet::ReaderProperties::thrift_string_size_limitC"></span><span class="target" id="classparquet_1_1_reader_properties_1ae050aede3984111eb01418c7a32caba6"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">thrift_string_size_limit</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet16ReaderProperties24thrift_string_size_limitEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the size limit on thrift strings. </p>
<p>This limit helps prevent space and time bombs in files, but may need to be increased in order to read files with especially large headers. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16ReaderProperties28set_thrift_string_size_limitE7int32_t">
<span id="_CPPv3N7parquet16ReaderProperties28set_thrift_string_size_limitE7int32_t"></span><span id="_CPPv2N7parquet16ReaderProperties28set_thrift_string_size_limitE7int32_t"></span><span id="parquet::ReaderProperties::set_thrift_string_size_limit__int32_t"></span><span class="target" id="classparquet_1_1_reader_properties_1ad156992d2b47c67ee1e10192a5d3a155"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_thrift_string_size_limit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16ReaderProperties28set_thrift_string_size_limitE7int32_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set the size limit on thrift strings. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet16ReaderProperties27thrift_container_size_limitEv">
<span id="_CPPv3NK7parquet16ReaderProperties27thrift_container_size_limitEv"></span><span id="_CPPv2NK7parquet16ReaderProperties27thrift_container_size_limitEv"></span><span id="parquet::ReaderProperties::thrift_container_size_limitC"></span><span class="target" id="classparquet_1_1_reader_properties_1ab200d2dc40d4057942f3ec11e6ecf53e"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">thrift_container_size_limit</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet16ReaderProperties27thrift_container_size_limitEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the size limit on thrift containers. </p>
<p>This limit helps prevent space and time bombs in files, but may need to be increased in order to read files with especially large headers. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16ReaderProperties31set_thrift_container_size_limitE7int32_t">
<span id="_CPPv3N7parquet16ReaderProperties31set_thrift_container_size_limitE7int32_t"></span><span id="_CPPv2N7parquet16ReaderProperties31set_thrift_container_size_limitE7int32_t"></span><span id="parquet::ReaderProperties::set_thrift_container_size_limit__int32_t"></span><span class="target" id="classparquet_1_1_reader_properties_1a0b1d1b23f569e60cc086f1cd7a32875b"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_thrift_container_size_limit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16ReaderProperties31set_thrift_container_size_limitE7int32_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set the size limit on thrift containers. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16ReaderProperties26file_decryption_propertiesENSt10shared_ptrI24FileDecryptionPropertiesEE">
<span id="_CPPv3N7parquet16ReaderProperties26file_decryption_propertiesENSt10shared_ptrI24FileDecryptionPropertiesEE"></span><span id="_CPPv2N7parquet16ReaderProperties26file_decryption_propertiesENSt10shared_ptrI24FileDecryptionPropertiesEE"></span><span id="parquet::ReaderProperties::file_decryption_properties__std::shared_ptr:FileDecryptionProperties:"></span><span class="target" id="classparquet_1_1_reader_properties_1ae1b510648fe1e90048f43df20e87c166"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">file_decryption_properties</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">FileDecryptionProperties</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">decryption</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16ReaderProperties26file_decryption_propertiesENSt10shared_ptrI24FileDecryptionPropertiesEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set the decryption properties. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet16ReaderProperties26file_decryption_propertiesEv">
<span id="_CPPv3NK7parquet16ReaderProperties26file_decryption_propertiesEv"></span><span id="_CPPv2NK7parquet16ReaderProperties26file_decryption_propertiesEv"></span><span id="parquet::ReaderProperties::file_decryption_propertiesC"></span><span class="target" id="classparquet_1_1_reader_properties_1a1bac41f7e71704ff0826f4bd7e65292f"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">FileDecryptionProperties</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">file_decryption_properties</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet16ReaderProperties26file_decryption_propertiesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the decryption properties. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowReaderPropertiesE">
<span id="_CPPv3N7parquet21ArrowReaderPropertiesE"></span><span id="_CPPv2N7parquet21ArrowReaderPropertiesE"></span><span id="parquet::ArrowReaderProperties"></span><span class="target" id="classparquet_1_1_arrow_reader_properties"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ArrowReaderProperties</span></span></span><a class="headerlink" href="#_CPPv4N7parquet21ArrowReaderPropertiesE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Properties for configuring FileReader behavior. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowReaderProperties15set_use_threadsEb">
<span id="_CPPv3N7parquet21ArrowReaderProperties15set_use_threadsEb"></span><span id="_CPPv2N7parquet21ArrowReaderProperties15set_use_threadsEb"></span><span id="parquet::ArrowReaderProperties::set_use_threads__b"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1af28ec172344fcae44e048810892d3185"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_use_threads</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">use_threads</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowReaderProperties15set_use_threadsEb" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set whether to use the IO thread pool to parse columns in parallel. </p>
<p>Default is false. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet21ArrowReaderProperties11use_threadsEv">
<span id="_CPPv3NK7parquet21ArrowReaderProperties11use_threadsEv"></span><span id="_CPPv2NK7parquet21ArrowReaderProperties11use_threadsEv"></span><span id="parquet::ArrowReaderProperties::use_threadsC"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1ae86637746a13f232384227933ef594b2"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">use_threads</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet21ArrowReaderProperties11use_threadsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return whether will use multiple threads. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowReaderProperties19set_read_dictionaryEib">
<span id="_CPPv3N7parquet21ArrowReaderProperties19set_read_dictionaryEib"></span><span id="_CPPv2N7parquet21ArrowReaderProperties19set_read_dictionaryEib"></span><span id="parquet::ArrowReaderProperties::set_read_dictionary__i.b"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1aee692c056ff693b4724dd500b0dbf7c8"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_read_dictionary</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">column_index</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">read_dict</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowReaderProperties19set_read_dictionaryEib" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set whether to read a particular column as dictionary encoded. </p>
<p>If the file metadata contains a serialized Arrow schema, then …</p>
<p>This is only supported for columns with a Parquet physical type of BYTE_ARRAY, such as string or binary types. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet21ArrowReaderProperties15read_dictionaryEi">
<span id="_CPPv3NK7parquet21ArrowReaderProperties15read_dictionaryEi"></span><span id="_CPPv2NK7parquet21ArrowReaderProperties15read_dictionaryEi"></span><span id="parquet::ArrowReaderProperties::read_dictionary__iC"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1aa299b66c6e3946900c824b1e8bd0c0f3"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">read_dictionary</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">column_index</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet21ArrowReaderProperties15read_dictionaryEi" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return whether the column at the index will be read as dictionary. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowReaderProperties14set_batch_sizeE7int64_t">
<span id="_CPPv3N7parquet21ArrowReaderProperties14set_batch_sizeE7int64_t"></span><span id="_CPPv2N7parquet21ArrowReaderProperties14set_batch_sizeE7int64_t"></span><span id="parquet::ArrowReaderProperties::set_batch_size__int64_t"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1a6953d1fe98c31ef2ddb45e9a21261007"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_batch_size</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">batch_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowReaderProperties14set_batch_sizeE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set the maximum number of rows to read into a record batch. </p>
<p>Will only be fewer rows when there are no more rows in the file. Note that some APIs such as ReadTable may ignore this setting. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet21ArrowReaderProperties10batch_sizeEv">
<span id="_CPPv3NK7parquet21ArrowReaderProperties10batch_sizeEv"></span><span id="_CPPv2NK7parquet21ArrowReaderProperties10batch_sizeEv"></span><span id="parquet::ArrowReaderProperties::batch_sizeC"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1a9ecb60420f427b7789d1b35dd5a37b40"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">batch_size</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet21ArrowReaderProperties10batch_sizeEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the batch size in rows. </p>
<p>Note that some APIs such as ReadTable may ignore this setting. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowReaderProperties14set_pre_bufferEb">
<span id="_CPPv3N7parquet21ArrowReaderProperties14set_pre_bufferEb"></span><span id="_CPPv2N7parquet21ArrowReaderProperties14set_pre_bufferEb"></span><span id="parquet::ArrowReaderProperties::set_pre_buffer__b"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1af8737524e42a53b09c1ed73380eab5a9"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_pre_buffer</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">pre_buffer</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowReaderProperties14set_pre_bufferEb" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable read coalescing (default false). </p>
<p>When enabled, the Arrow reader will pre-buffer necessary regions of the file in-memory. This is intended to improve performance on high-latency filesystems (e.g. Amazon S3). </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet21ArrowReaderProperties10pre_bufferEv">
<span id="_CPPv3NK7parquet21ArrowReaderProperties10pre_bufferEv"></span><span id="_CPPv2NK7parquet21ArrowReaderProperties10pre_bufferEv"></span><span id="parquet::ArrowReaderProperties::pre_bufferC"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1a0f0b56f5f6f60d1c9ae500017fda00d4"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">pre_buffer</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet21ArrowReaderProperties10pre_bufferEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return whether read coalescing is enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowReaderProperties17set_cache_optionsEN5arrow2io12CacheOptionsE">
<span id="_CPPv3N7parquet21ArrowReaderProperties17set_cache_optionsEN5arrow2io12CacheOptionsE"></span><span id="_CPPv2N7parquet21ArrowReaderProperties17set_cache_optionsEN5arrow2io12CacheOptionsE"></span><span id="parquet::ArrowReaderProperties::set_cache_options__arrow::io::CacheOptions"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1a4b030893f45267d7f186a73cd509c951"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_cache_options</span></span></span><span class="sig-paren">(</span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">CacheOptions</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">options</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowReaderProperties17set_cache_optionsEN5arrow2io12CacheOptionsE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set options for read coalescing. </p>
<p>This can be used to tune the implementation for characteristics of different filesystems. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet21ArrowReaderProperties13cache_optionsEv">
<span id="_CPPv3NK7parquet21ArrowReaderProperties13cache_optionsEv"></span><span id="_CPPv2NK7parquet21ArrowReaderProperties13cache_optionsEv"></span><span id="parquet::ArrowReaderProperties::cache_optionsC"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1a618b71117b637db008d7832359f8b6ed"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">CacheOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">cache_options</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet21ArrowReaderProperties13cache_optionsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the options for read coalescing. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowReaderProperties14set_io_contextERKN5arrow2io9IOContextE">
<span id="_CPPv3N7parquet21ArrowReaderProperties14set_io_contextERKN5arrow2io9IOContextE"></span><span id="_CPPv2N7parquet21ArrowReaderProperties14set_io_contextERKN5arrow2io9IOContextE"></span><span id="parquet::ArrowReaderProperties::set_io_context__arrow::io::IOContextCR"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1acbef2e37f1c42221fa2704ff312846cf"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_io_context</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ctx</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowReaderProperties14set_io_contextERKN5arrow2io9IOContextE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set execution context for read coalescing. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet21ArrowReaderProperties10io_contextEv">
<span id="_CPPv3NK7parquet21ArrowReaderProperties10io_contextEv"></span><span id="_CPPv2NK7parquet21ArrowReaderProperties10io_contextEv"></span><span id="parquet::ArrowReaderProperties::io_contextC"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1a6e352d8c6277c5ed2f08c79f750f807d"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">io_context</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet21ArrowReaderProperties10io_contextEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the execution context used for read coalescing. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowReaderProperties31set_coerce_int96_timestamp_unitEN5arrow8TimeUnit4typeE">
<span id="_CPPv3N7parquet21ArrowReaderProperties31set_coerce_int96_timestamp_unitEN5arrow8TimeUnit4typeE"></span><span id="_CPPv2N7parquet21ArrowReaderProperties31set_coerce_int96_timestamp_unitEN5arrow8TimeUnit4typeE"></span><span id="parquet::ArrowReaderProperties::set_coerce_int96_timestamp_unit__arrow::TimeUnit::type"></span><span class="target" id="classparquet_1_1_arrow_reader_properties_1a499f389751696bef72b5b5cd701adcd0"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_coerce_int96_timestamp_unit</span></span></span><span class="sig-paren">(</span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">TimeUnit</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow8TimeUnit4typeE" title="arrow::TimeUnit::type"><span class="n"><span class="pre">type</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">unit</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowReaderProperties31set_coerce_int96_timestamp_unitEN5arrow8TimeUnit4typeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set timestamp unit to use for deprecated INT96-encoded timestamps (default is NANO). </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet17ParquetFileReaderE">
<span id="_CPPv3N7parquet17ParquetFileReaderE"></span><span id="_CPPv2N7parquet17ParquetFileReaderE"></span><span id="parquet::ParquetFileReader"></span><span class="target" id="classparquet_1_1_parquet_file_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ParquetFileReader</span></span></span><a class="headerlink" href="#_CPPv4N7parquet17ParquetFileReaderE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet17ParquetFileReader18GetPageIndexReaderEv">
<span id="_CPPv3N7parquet17ParquetFileReader18GetPageIndexReaderEv"></span><span id="_CPPv2N7parquet17ParquetFileReader18GetPageIndexReaderEv"></span><span id="parquet::ParquetFileReader::GetPageIndexReader"></span><span class="target" id="classparquet_1_1_parquet_file_reader_1a5358773501ce391fdece7e1ba2b88909"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">PageIndexReader</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetPageIndexReader</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet17ParquetFileReader18GetPageIndexReaderEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Returns the PageIndexReader. </p>
<p>Only one instance is ever created.</p>
<p>If the file does not have the page index, nullptr may be returned. Because it pays to check existence of page index in the file, it is possible to return a non null value even if page index does not exist. It is the caller’s responsibility to check the return value and follow-up calls to PageIndexReader.</p>
<p>WARNING: The returned PageIndexReader must not outlive the <a class="reference internal" href="#classparquet_1_1_parquet_file_reader"><span class="std std-ref">ParquetFileReader</span></a>. Initialize <a class="reference internal" href="#classparquet_1_1_parquet_file_reader_1a5358773501ce391fdece7e1ba2b88909"><span class="std std-ref">GetPageIndexReader()</span></a> is not thread-safety. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet17ParquetFileReader20GetBloomFilterReaderEv">
<span id="_CPPv3N7parquet17ParquetFileReader20GetBloomFilterReaderEv"></span><span id="_CPPv2N7parquet17ParquetFileReader20GetBloomFilterReaderEv"></span><span id="parquet::ParquetFileReader::GetBloomFilterReader"></span><span class="target" id="classparquet_1_1_parquet_file_reader_1a498d4268df53b1744ad254c95f4ce6ab"></span><span class="n"><span class="pre">BloomFilterReader</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="n"><span class="pre">GetBloomFilterReader</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet17ParquetFileReader20GetBloomFilterReaderEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Returns the BloomFilterReader. </p>
<p>Only one instance is ever created.</p>
<p>WARNING: The returned BloomFilterReader must not outlive the <a class="reference internal" href="#classparquet_1_1_parquet_file_reader"><span class="std std-ref">ParquetFileReader</span></a>. Initialize <a class="reference internal" href="#classparquet_1_1_parquet_file_reader_1a498d4268df53b1744ad254c95f4ce6ab"><span class="std std-ref">GetBloomFilterReader()</span></a> is not thread-safety. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet17ParquetFileReader9PreBufferERKNSt6vectorIiEERKNSt6vectorIiEERKN5arrow2io9IOContextERKN5arrow2io12CacheOptionsE">
<span id="_CPPv3N7parquet17ParquetFileReader9PreBufferERKNSt6vectorIiEERKNSt6vectorIiEERKN5arrow2io9IOContextERKN5arrow2io12CacheOptionsE"></span><span id="_CPPv2N7parquet17ParquetFileReader9PreBufferERKNSt6vectorIiEERKNSt6vectorIiEERKN5arrow2io9IOContextERKN5arrow2io12CacheOptionsE"></span><span id="parquet::ParquetFileReader::PreBuffer__std::vector:i:CR.std::vector:i:CR.arrow::io::IOContextCR.arrow::io::CacheOptionsCR"></span><span class="target" id="classparquet_1_1_parquet_file_reader_1ac32333622861a2a25a829afd8ab2eb42"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">PreBuffer</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">row_groups</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">column_indices</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">IOContext</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">ctx</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">CacheOptions</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">options</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet17ParquetFileReader9PreBufferERKNSt6vectorIiEERKNSt6vectorIiEERKN5arrow2io9IOContextERKN5arrow2io12CacheOptionsE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Pre-buffer the specified column indices in all row groups. </p>
<p>Readers can optionally call this to cache the necessary slices of the file in-memory before deserialization. Arrow readers can automatically do this via an option. This is intended to increase performance when reading from high-latency filesystems (e.g. Amazon S3).</p>
<p>After calling this, creating readers for row groups/column indices that were not buffered may fail. Creating multiple readers for the a subset of the buffered regions is acceptable. This may be called again to buffer a different set of row groups/columns.</p>
<p>If memory usage is a concern, note that data will remain buffered in memory until either <em><a class="reference internal" href="#classparquet_1_1_parquet_file_reader_1ac32333622861a2a25a829afd8ab2eb42"><span class="std std-ref">PreBuffer()</span></a></em> is called again, or the reader itself is destructed. Reading - and buffering - only one row group at a time may be useful.</p>
<p>This method may throw. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet17ParquetFileReader12WhenBufferedERKNSt6vectorIiEERKNSt6vectorIiEE">
<span id="_CPPv3NK7parquet17ParquetFileReader12WhenBufferedERKNSt6vectorIiEERKNSt6vectorIiEE"></span><span id="_CPPv2NK7parquet17ParquetFileReader12WhenBufferedERKNSt6vectorIiEERKNSt6vectorIiEE"></span><span id="parquet::ParquetFileReader::WhenBuffered__std::vector:i:CR.std::vector:i:CRC"></span><span class="target" id="classparquet_1_1_parquet_file_reader_1a0c365ae5c3e857c9e5aaf9f972271d3a"></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="async.html#_CPPv4I0EN5arrow6FutureE" title="arrow::Future"><span class="n"><span class="pre">Future</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WhenBuffered</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">row_groups</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">column_indices</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet17ParquetFileReader12WhenBufferedERKNSt6vectorIiEERKNSt6vectorIiEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Wait for the specified row groups and column indices to be pre-buffered. </p>
<p>After the returned Future completes, reading the specified row groups/columns will not block.</p>
<p>PreBuffer must be called first. This method does not throw. </p>
</dd></dl>
</div>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet17ParquetFileReader8ContentsE">
<span id="_CPPv3N7parquet17ParquetFileReader8ContentsE"></span><span id="_CPPv2N7parquet17ParquetFileReader8ContentsE"></span><span id="parquet::ParquetFileReader::Contents"></span><span class="target" id="structparquet_1_1_parquet_file_reader_1_1_contents"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Contents</span></span></span><a class="headerlink" href="#_CPPv4N7parquet17ParquetFileReader8ContentsE" title="Permalink to this definition">#</a><br /></dt>
<dd></dd></dl>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReaderE">
<span id="_CPPv3N7parquet5arrow10FileReaderE"></span><span id="_CPPv2N7parquet5arrow10FileReaderE"></span><span id="parquet::arrow::FileReader"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FileReader</span></span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReaderE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Arrow read adapter class for deserializing Parquet files as Arrow row batches. </p>
<p>This interfaces caters for different use cases and thus provides different interfaces. In its most simplistic form, we cater for a user that wants to read the whole Parquet at once with the <code class="docutils literal notranslate"><a class="reference internal" href="#classparquet_1_1arrow_1_1_file_reader_1ad6021ee16527fcb3256bf84db5270c89"><span class="std std-ref"><span class="pre">FileReader::ReadTable</span></span></a></code> method.</p>
<p>More advanced users that also want to implement parallelism on top of each single Parquet files should do this on the RowGroup level. For this, they can call <code class="docutils literal notranslate"><span class="pre">FileReader::RowGroup(i)-&gt;ReadTable</span></code> to receive only the specified RowGroup as a table.</p>
<p>In the most advanced situation, where a consumer wants to independently read RowGroups in parallel and consume each column individually, they can call <code class="docutils literal notranslate"><span class="pre">FileReader::RowGroup(i)-&gt;Column(j)-&gt;Read</span></code> and receive an <code class="docutils literal notranslate"><span class="pre">arrow::Column</span></code> instance.</p>
<p>Finally, one can also get a stream of record batches using <code class="docutils literal notranslate"><a class="reference internal" href="#classparquet_1_1arrow_1_1_file_reader_1a5b46a41809f87a0ffea6491874c2f03f"><span class="std std-ref"><span class="pre">FileReader::GetRecordBatchReader()</span></span></a></code>. This can internally decode columns in parallel if use_threads was enabled in the <a class="reference internal" href="#classparquet_1_1_arrow_reader_properties"><span class="std std-ref">ArrowReaderProperties</span></a>.</p>
<p>The parquet format supports an optional integer field_id which can be assigned to a field. Arrow will convert these field IDs to a metadata key named PARQUET:field_id on the appropriate field. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader9GetSchemaEPNSt10shared_ptrIN5arrow6SchemaEEE">
<span id="_CPPv3N7parquet5arrow10FileReader9GetSchemaEPNSt10shared_ptrIN5arrow6SchemaEEE"></span><span id="_CPPv2N7parquet5arrow10FileReader9GetSchemaEPNSt10shared_ptrIN5arrow6SchemaEEE"></span><span id="parquet::arrow::FileReader::GetSchema__std::shared_ptr:arrow::Schema:P"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1a0be508d6f33486e7d18cfeaeeb9e0c5b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetSchema</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow6SchemaE" title="arrow::Schema"><span class="n"><span class="pre">Schema</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader9GetSchemaEPNSt10shared_ptrIN5arrow6SchemaEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return arrow schema for all the columns. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader10ReadColumnEiPNSt10shared_ptrIN5arrow12ChunkedArrayEEE">
<span id="_CPPv3N7parquet5arrow10FileReader10ReadColumnEiPNSt10shared_ptrIN5arrow12ChunkedArrayEEE"></span><span id="_CPPv2N7parquet5arrow10FileReader10ReadColumnEiPNSt10shared_ptrIN5arrow12ChunkedArrayEEE"></span><span id="parquet::arrow::FileReader::ReadColumn__i.std::shared_ptr:arrow::ChunkedArray:P"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1a57e775ac7a5a34ea134f6a44b756e6ed"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadColumn</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">i</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="array.html#_CPPv4N5arrow12ChunkedArrayE" title="arrow::ChunkedArray"><span class="n"><span class="pre">ChunkedArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader10ReadColumnEiPNSt10shared_ptrIN5arrow12ChunkedArrayEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read column as a whole into a chunked array. </p>
<p>The index i refers the index of the top level schema field, which may be nested or flat - e.g.</p>
<p>0 foo.bar foo.bar.baz foo.qux 1 foo2 2 foo3</p>
<p>i=0 will read the entire foo struct, i=1 the foo2 primitive column etc </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader20GetRecordBatchReaderEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE">
<span id="_CPPv3N7parquet5arrow10FileReader20GetRecordBatchReaderEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE"></span><span id="_CPPv2N7parquet5arrow10FileReader20GetRecordBatchReaderEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE"></span><span id="parquet::arrow::FileReader::GetRecordBatchReader__std::unique_ptr:arrow::RecordBatchReader:P"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1a5b46a41809f87a0ffea6491874c2f03f"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetRecordBatchReader</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow17RecordBatchReaderE" title="arrow::RecordBatchReader"><span class="n"><span class="pre">RecordBatchReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader20GetRecordBatchReaderEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a RecordBatchReader of all row groups and columns. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE">
<span id="_CPPv3N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE"></span><span id="_CPPv2N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE"></span><span id="parquet::arrow::FileReader::GetRecordBatchReader__std::vector:i:CR.std::unique_ptr:arrow::RecordBatchReader:P"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1ab933cf50515812a9f2929d978b469f3a"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetRecordBatchReader</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">row_group_indices</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow17RecordBatchReaderE" title="arrow::RecordBatchReader"><span class="n"><span class="pre">RecordBatchReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a RecordBatchReader of row groups selected from row_group_indices. </p>
<p>Note that the ordering in row_group_indices matters. FileReaders must outlive their RecordBatchReaders.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>error Status if row_group_indices contains an invalid index </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEERKNSt6vectorIiEEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE">
<span id="_CPPv3N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEERKNSt6vectorIiEEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE"></span><span id="_CPPv2N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEERKNSt6vectorIiEEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE"></span><span id="parquet::arrow::FileReader::GetRecordBatchReader__std::vector:i:CR.std::vector:i:CR.std::unique_ptr:arrow::RecordBatchReader:P"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1ac73dd5ee6ce2424a173c57e638553c3d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetRecordBatchReader</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">row_group_indices</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">column_indices</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow17RecordBatchReaderE" title="arrow::RecordBatchReader"><span class="n"><span class="pre">RecordBatchReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEERKNSt6vectorIiEEPNSt10unique_ptrIN5arrow17RecordBatchReaderEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a RecordBatchReader of row groups selected from row_group_indices, whose columns are selected by column_indices. </p>
<p>Note that the ordering in row_group_indices and column_indices matter. FileReaders must outlive their RecordBatchReaders.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>error Status if either row_group_indices or column_indices contains an invalid index </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEERKNSt6vectorIiEEPNSt10shared_ptrIN5arrow17RecordBatchReaderEEE">
<span id="_CPPv3N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEERKNSt6vectorIiEEPNSt10shared_ptrIN5arrow17RecordBatchReaderEEE"></span><span id="_CPPv2N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEERKNSt6vectorIiEEPNSt10shared_ptrIN5arrow17RecordBatchReaderEEE"></span><span id="parquet::arrow::FileReader::GetRecordBatchReader__std::vector:i:CR.std::vector:i:CR.std::shared_ptr:arrow::RecordBatchReader:P"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1adbaf13dcddef534c5cca878fb091721c"></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetRecordBatchReader</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">row_group_indices</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">column_indices</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow17RecordBatchReaderE" title="arrow::RecordBatchReader"><span class="n"><span class="pre">RecordBatchReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader20GetRecordBatchReaderERKNSt6vectorIiEERKNSt6vectorIiEEPNSt10shared_ptrIN5arrow17RecordBatchReaderEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a RecordBatchReader of row groups selected from row_group_indices, whose columns are selected by column_indices. </p>
<p>Note that the ordering in row_group_indices and column_indices matter. FileReaders must outlive their RecordBatchReaders.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>row_group_indices</strong> – which row groups to read (order determines read order). </p></li>
<li><p><strong>column_indices</strong> – which columns to read (order determines output schema). </p></li>
<li><p><strong>out</strong><strong>[out]</strong> record batch stream from parquet data.</p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>error Status if either row_group_indices or column_indices contains an invalid index </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp">
<span class="target" id="classparquet_1_1arrow_1_1_file_reader_1a93629cfeb2e998c4560a649523899113"></span><span class="sig-name descname"><span class="pre">virtual</span> <span class="pre">::arrow::Result&lt;</span> <span class="pre">std::function&lt;::arrow::Future&lt;</span> <span class="pre">std::shared_ptr&lt;::arrow::RecordBatch</span> <span class="pre">&gt;</span> <span class="pre">&gt;)&gt;</span> <span class="pre">&gt;</span> <span class="pre">GetRecordBatchGenerator</span> <span class="pre">(std::shared_ptr&lt;</span> <span class="pre">FileReader</span> <span class="pre">&gt;</span> <span class="pre">reader,</span> <span class="pre">const</span> <span class="pre">std::vector&lt;</span> <span class="pre">int</span> <span class="pre">&gt;</span> <span class="pre">row_group_indices,</span> <span class="pre">const</span> <span class="pre">std::vector&lt;</span> <span class="pre">int</span> <span class="pre">&gt;</span> <span class="pre">column_indices,</span> <span class="pre">::arrow::internal::Executor</span> <span class="pre">*cpu_executor=NULLPTR,</span> <span class="pre">int64_t</span> <span class="pre">rows_to_readahead=0)=0</span></span></dt>
<dd><p>Return a generator of record batches. </p>
<p>The <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_reader"><span class="std std-ref">FileReader</span></a> must outlive the generator, so this requires that you pass in a shared_ptr.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>error Result if either row_group_indices or column_indices contains an invalid index </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader9ReadTableEPNSt10shared_ptrIN5arrow5TableEEE">
<span id="_CPPv3N7parquet5arrow10FileReader9ReadTableEPNSt10shared_ptrIN5arrow5TableEEE"></span><span id="_CPPv2N7parquet5arrow10FileReader9ReadTableEPNSt10shared_ptrIN5arrow5TableEEE"></span><span id="parquet::arrow::FileReader::ReadTable__std::shared_ptr:arrow::Table:P"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1ad6021ee16527fcb3256bf84db5270c89"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadTable</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader9ReadTableEPNSt10shared_ptrIN5arrow5TableEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read all columns into a Table. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader9ReadTableERKNSt6vectorIiEEPNSt10shared_ptrIN5arrow5TableEEE">
<span id="_CPPv3N7parquet5arrow10FileReader9ReadTableERKNSt6vectorIiEEPNSt10shared_ptrIN5arrow5TableEEE"></span><span id="_CPPv2N7parquet5arrow10FileReader9ReadTableERKNSt6vectorIiEEPNSt10shared_ptrIN5arrow5TableEEE"></span><span id="parquet::arrow::FileReader::ReadTable__std::vector:i:CR.std::shared_ptr:arrow::Table:P"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1aabacd8d763165c26b7105a4d3f523015"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadTable</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">column_indices</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader9ReadTableERKNSt6vectorIiEEPNSt10shared_ptrIN5arrow5TableEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read the given columns into a Table. </p>
<p>The indicated column indices are relative to the internal representation of the parquet table. For instance : 0 foo.bar foo.bar.baz 0 foo.bar.baz2 1 foo.qux 2 1 foo2 3 2 foo3 4</p>
<p>i=0 will read foo.bar.baz, i=1 will read only foo.bar.baz2 and so on. Only leaf fields have indices; foo itself doesn’t have an index. To get the index for a particular leaf field, one can use manifest().schema_fields to get the top level fields, and then walk the tree to identify the relevant leaf fields and access its column_index. To get the total number of leaf fields, use FileMetadata.num_columns(). </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader12ScanContentsENSt6vectorIiEEK7int32_tP7int64_t">
<span id="_CPPv3N7parquet5arrow10FileReader12ScanContentsENSt6vectorIiEEK7int32_tP7int64_t"></span><span id="_CPPv2N7parquet5arrow10FileReader12ScanContentsENSt6vectorIiEEK7int32_tP7int64_t"></span><span id="parquet::arrow::FileReader::ScanContents__std::vector:i:.int32_tC.int64_tP"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1a917bd33c68db9b361cca6973af10a3dd"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ScanContents</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">columns</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">column_batch_size</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">num_rows</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader12ScanContentsENSt6vectorIiEEK7int32_tP7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Scan file contents with one thread, return number of rows. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader8RowGroupEi">
<span id="_CPPv3N7parquet5arrow10FileReader8RowGroupEi"></span><span id="_CPPv2N7parquet5arrow10FileReader8RowGroupEi"></span><span id="parquet::arrow::FileReader::RowGroup__i"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1ac8809a912fe26d46d1c7699407e0171b"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">RowGroupReader</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">RowGroup</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">row_group_index</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader8RowGroupEi" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return a reader for the RowGroup, this object must not outlive the <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_reader"><span class="std std-ref">FileReader</span></a>. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet5arrow10FileReader14num_row_groupsEv">
<span id="_CPPv3NK7parquet5arrow10FileReader14num_row_groupsEv"></span><span id="_CPPv2NK7parquet5arrow10FileReader14num_row_groupsEv"></span><span id="parquet::arrow::FileReader::num_row_groupsC"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1a26928cf6c947427eda01d44517e1d7bb"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">num_row_groups</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK7parquet5arrow10FileReader14num_row_groupsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The number of row groups in the file. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader15set_use_threadsEb">
<span id="_CPPv3N7parquet5arrow10FileReader15set_use_threadsEb"></span><span id="_CPPv2N7parquet5arrow10FileReader15set_use_threadsEb"></span><span id="parquet::arrow::FileReader::set_use_threads__b"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1a7a6ae348156375ebc2b5c99ceb0daa09"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_use_threads</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">use_threads</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader15set_use_threadsEb" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set whether to use multiple threads during reads of multiple columns. </p>
<p>By default only one thread is used. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader14set_batch_sizeE7int64_t">
<span id="_CPPv3N7parquet5arrow10FileReader14set_batch_sizeE7int64_t"></span><span id="_CPPv2N7parquet5arrow10FileReader14set_batch_sizeE7int64_t"></span><span id="parquet::arrow::FileReader::set_batch_size__int64_t"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1a58954a23968686406cdb8f55be2ee592"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">set_batch_size</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">batch_size</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader14set_batch_sizeE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set number of records to read per batch for the RecordBatchReader. </p>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader4MakeEPN5arrow10MemoryPoolENSt10unique_ptrI17ParquetFileReaderEERK21ArrowReaderPropertiesPNSt10unique_ptrI10FileReaderEE">
<span id="_CPPv3N7parquet5arrow10FileReader4MakeEPN5arrow10MemoryPoolENSt10unique_ptrI17ParquetFileReaderEERK21ArrowReaderPropertiesPNSt10unique_ptrI10FileReaderEE"></span><span id="_CPPv2N7parquet5arrow10FileReader4MakeEPN5arrow10MemoryPoolENSt10unique_ptrI17ParquetFileReaderEERK21ArrowReaderPropertiesPNSt10unique_ptrI10FileReaderEE"></span><span id="parquet::arrow::FileReader::Make__arrow::MemoryPoolP.std::unique_ptr:ParquetFileReader:.ArrowReaderPropertiesCR.std::unique_ptr:FileReader:P"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1a5e912e47118acc10842cd0c8d6503ce7"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet17ParquetFileReaderE" title="parquet::ParquetFileReader"><span class="n"><span class="pre">ParquetFileReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">reader</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowReaderPropertiesE" title="parquet::ArrowReaderProperties"><span class="n"><span class="pre">ArrowReaderProperties</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">properties</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet5arrow10FileReaderE" title="parquet::arrow::FileReader"><span class="n"><span class="pre">FileReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader4MakeEPN5arrow10MemoryPoolENSt10unique_ptrI17ParquetFileReaderEERK21ArrowReaderPropertiesPNSt10unique_ptrI10FileReaderEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Factory function to create a <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_reader"><span class="std std-ref">FileReader</span></a> from a <a class="reference internal" href="#classparquet_1_1_parquet_file_reader"><span class="std std-ref">ParquetFileReader</span></a> and properties. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileReader4MakeEPN5arrow10MemoryPoolENSt10unique_ptrI17ParquetFileReaderEEPNSt10unique_ptrI10FileReaderEE">
<span id="_CPPv3N7parquet5arrow10FileReader4MakeEPN5arrow10MemoryPoolENSt10unique_ptrI17ParquetFileReaderEEPNSt10unique_ptrI10FileReaderEE"></span><span id="_CPPv2N7parquet5arrow10FileReader4MakeEPN5arrow10MemoryPoolENSt10unique_ptrI17ParquetFileReaderEEPNSt10unique_ptrI10FileReaderEE"></span><span id="parquet::arrow::FileReader::Make__arrow::MemoryPoolP.std::unique_ptr:ParquetFileReader:.std::unique_ptr:FileReader:P"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_1a4e08b4f70d3882cd076fed8cb7517219"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Make</span></span></span><span class="sig-paren">(</span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet17ParquetFileReaderE" title="parquet::ParquetFileReader"><span class="n"><span class="pre">ParquetFileReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">reader</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet5arrow10FileReaderE" title="parquet::arrow::FileReader"><span class="n"><span class="pre">FileReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileReader4MakeEPN5arrow10MemoryPoolENSt10unique_ptrI17ParquetFileReaderEEPNSt10unique_ptrI10FileReaderEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Factory function to create a <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_reader"><span class="std std-ref">FileReader</span></a> from a <a class="reference internal" href="#classparquet_1_1_parquet_file_reader"><span class="std std-ref">ParquetFileReader</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow17FileReaderBuilderE">
<span id="_CPPv3N7parquet5arrow17FileReaderBuilderE"></span><span id="_CPPv2N7parquet5arrow17FileReaderBuilderE"></span><span id="parquet::arrow::FileReaderBuilder"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_builder"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FileReaderBuilder</span></span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow17FileReaderBuilderE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Experimental helper class for bindings (like Python) that struggle either with std::move or C++ exceptions. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow17FileReaderBuilder4OpenENSt10shared_ptrIN5arrow2io16RandomAccessFileEEERK16ReaderPropertiesNSt10shared_ptrI12FileMetaDataEE">
<span id="_CPPv3N7parquet5arrow17FileReaderBuilder4OpenENSt10shared_ptrIN5arrow2io16RandomAccessFileEEERK16ReaderPropertiesNSt10shared_ptrI12FileMetaDataEE"></span><span id="_CPPv2N7parquet5arrow17FileReaderBuilder4OpenENSt10shared_ptrIN5arrow2io16RandomAccessFileEEERK16ReaderPropertiesNSt10shared_ptrI12FileMetaDataEE"></span><span id="parquet::arrow::FileReaderBuilder::Open__std::shared_ptr:arrow::io::RandomAccessFile:.ReaderPropertiesCR.std::shared_ptr:FileMetaData:"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_builder_1ade44880ec4cd96c5e0f9ca2bbe0adba9"></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">file</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16ReaderPropertiesE" title="parquet::ReaderProperties"><span class="n"><span class="pre">ReaderProperties</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">properties</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">default_reader_properties</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">FileMetaData</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">metadata</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet5arrow17FileReaderBuilder4OpenENSt10shared_ptrIN5arrow2io16RandomAccessFileEEERK16ReaderPropertiesNSt10shared_ptrI12FileMetaDataEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_reader_builder"><span class="std std-ref">FileReaderBuilder</span></a> from Arrow file and optional properties / metadata. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow17FileReaderBuilder8OpenFileERKNSt6stringEbRK16ReaderPropertiesNSt10shared_ptrI12FileMetaDataEE">
<span id="_CPPv3N7parquet5arrow17FileReaderBuilder8OpenFileERKNSt6stringEbRK16ReaderPropertiesNSt10shared_ptrI12FileMetaDataEE"></span><span id="_CPPv2N7parquet5arrow17FileReaderBuilder8OpenFileERKNSt6stringEbRK16ReaderPropertiesNSt10shared_ptrI12FileMetaDataEE"></span><span id="parquet::arrow::FileReaderBuilder::OpenFile__ssCR.b.ReaderPropertiesCR.std::shared_ptr:FileMetaData:"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_builder_1a51710eab271f9c3ad1c4c03e8d79d33d"></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">OpenFile</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">memory_map</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="k"><span class="pre">false</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16ReaderPropertiesE" title="parquet::ReaderProperties"><span class="n"><span class="pre">ReaderProperties</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">props</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">default_reader_properties</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">FileMetaData</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">metadata</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">NULLPTR</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet5arrow17FileReaderBuilder8OpenFileERKNSt6stringEbRK16ReaderPropertiesNSt10shared_ptrI12FileMetaDataEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_reader_builder"><span class="std std-ref">FileReaderBuilder</span></a> from file path and optional properties / metadata. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow17FileReaderBuilder11memory_poolEPN5arrow10MemoryPoolE">
<span id="_CPPv3N7parquet5arrow17FileReaderBuilder11memory_poolEPN5arrow10MemoryPoolE"></span><span id="_CPPv2N7parquet5arrow17FileReaderBuilder11memory_poolEPN5arrow10MemoryPoolE"></span><span id="parquet::arrow::FileReaderBuilder::memory_pool__arrow::MemoryPoolP"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_builder_1a13874744823c5a62d7513686b60f4dba"></span><a class="reference internal" href="#_CPPv4N7parquet5arrow17FileReaderBuilderE" title="parquet::arrow::FileReaderBuilder"><span class="n"><span class="pre">FileReaderBuilder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">memory_pool</span></span></span><span class="sig-paren">(</span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet5arrow17FileReaderBuilder11memory_poolEPN5arrow10MemoryPoolE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set Arrow MemoryPool for memory allocation. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow17FileReaderBuilder10propertiesERK21ArrowReaderProperties">
<span id="_CPPv3N7parquet5arrow17FileReaderBuilder10propertiesERK21ArrowReaderProperties"></span><span id="_CPPv2N7parquet5arrow17FileReaderBuilder10propertiesERK21ArrowReaderProperties"></span><span id="parquet::arrow::FileReaderBuilder::properties__ArrowReaderPropertiesCR"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_builder_1a9a992492e0b9adcaeb179613bfc647ad"></span><a class="reference internal" href="#_CPPv4N7parquet5arrow17FileReaderBuilderE" title="parquet::arrow::FileReaderBuilder"><span class="n"><span class="pre">FileReaderBuilder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">properties</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowReaderPropertiesE" title="parquet::ArrowReaderProperties"><span class="n"><span class="pre">ArrowReaderProperties</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">arg_properties</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet5arrow17FileReaderBuilder10propertiesERK21ArrowReaderProperties" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set Arrow reader properties. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow17FileReaderBuilder5BuildEPNSt10unique_ptrI10FileReaderEE">
<span id="_CPPv3N7parquet5arrow17FileReaderBuilder5BuildEPNSt10unique_ptrI10FileReaderEE"></span><span id="_CPPv2N7parquet5arrow17FileReaderBuilder5BuildEPNSt10unique_ptrI10FileReaderEE"></span><span id="parquet::arrow::FileReaderBuilder::Build__std::unique_ptr:FileReader:P"></span><span class="target" id="classparquet_1_1arrow_1_1_file_reader_builder_1adbf16da297a05702a159acd2205171df"></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Build</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet5arrow10FileReaderE" title="parquet::arrow::FileReader"><span class="n"><span class="pre">FileReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">out</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet5arrow17FileReaderBuilder5BuildEPNSt10unique_ptrI10FileReaderEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Build <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_reader"><span class="std std-ref">FileReader</span></a> instance. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv48OpenFileNSt10shared_ptrIN5arrow2io16RandomAccessFileEEEPN5arrow10MemoryPoolEPNSt10unique_ptrI10FileReaderEE">
<span id="_CPPv38OpenFileNSt10shared_ptrIN5arrow2io16RandomAccessFileEEEPN5arrow10MemoryPoolEPNSt10unique_ptrI10FileReaderEE"></span><span id="_CPPv28OpenFileNSt10shared_ptrIN5arrow2io16RandomAccessFileEEEPN5arrow10MemoryPoolEPNSt10unique_ptrI10FileReaderEE"></span><span id="OpenFile__std::shared_ptr:arrow::io::RandomAccessFile:.arrow::MemoryPoolP.std::unique_ptr:FileReader:P"></span><span class="target" id="group__parquet-arrow-reader-factories_1ga8006fc7e2640ecb8764385513986822b"></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">OpenFile</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="p"><span class="pre">&gt;</span></span>, <span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">allocator</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">FileReader</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">reader</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv48OpenFileNSt10shared_ptrIN5arrow2io16RandomAccessFileEEEPN5arrow10MemoryPoolEPNSt10unique_ptrI10FileReaderEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Build <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_reader"><span class="std std-ref">FileReader</span></a> from Arrow file and MemoryPool. </p>
<p>Advanced settings are supported through the <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_reader_builder"><span class="std std-ref">FileReaderBuilder</span></a> class. </p>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet12StreamReaderE">
<span id="_CPPv3N7parquet12StreamReaderE"></span><span id="_CPPv2N7parquet12StreamReaderE"></span><span id="parquet::StreamReader"></span><span class="target" id="classparquet_1_1_stream_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">StreamReader</span></span></span><a class="headerlink" href="#_CPPv4N7parquet12StreamReaderE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A class for reading Parquet files using an output stream type API. </p>
<p>The values given must be of the correct type i.e. the type must match the file schema exactly otherwise a <a class="reference internal" href="support.html#classparquet_1_1_parquet_exception"><span class="std std-ref">ParquetException</span></a> will be thrown.</p>
<p>The user must explicitly advance to the next row using the <a class="reference internal" href="#classparquet_1_1_stream_reader_1aa4738d9bea084f18eb1bc4683acb9a01"><span class="std std-ref">EndRow()</span></a> function or EndRow input manipulator.</p>
<p>Required and optional fields are supported:<ul class="simple">
<li><p>Required fields are read using operator&gt;&gt;(T)</p></li>
<li><p>Optional fields are read with operator&gt;&gt;(std::optional&lt;T&gt;)</p></li>
</ul>
</p>
<p>Note that operator&gt;&gt;(std::optional&lt;T&gt;) can be used to read required fields.</p>
<p>Similarly operator&gt;&gt;(T) can be used to read optional fields. However, if the value is not present then a <a class="reference internal" href="support.html#classparquet_1_1_parquet_exception"><span class="std std-ref">ParquetException</span></a> will be raised.</p>
<p>Currently there is no support for repeated fields. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet12StreamReader6EndRowEv">
<span id="_CPPv3N7parquet12StreamReader6EndRowEv"></span><span id="_CPPv2N7parquet12StreamReader6EndRowEv"></span><span id="parquet::StreamReader::EndRow"></span><span class="target" id="classparquet_1_1_stream_reader_1aa4738d9bea084f18eb1bc4683acb9a01"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">EndRow</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet12StreamReader6EndRowEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Terminate current row and advance to next one. </p>
<dl class="field-list simple">
<dt class="field-odd">Throws<span class="colon">:</span></dt>
<dd class="field-odd"><p><span><span class="cpp-expr sig sig-inline cpp"><a class="reference internal" href="support.html#_CPPv4N7parquet16ParquetExceptionE" title="parquet::ParquetException"><span class="n">ParquetException</span></a></span></span> – if all columns in the row were not read or skipped. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet12StreamReader11SkipColumnsE7int64_t">
<span id="_CPPv3N7parquet12StreamReader11SkipColumnsE7int64_t"></span><span id="_CPPv2N7parquet12StreamReader11SkipColumnsE7int64_t"></span><span id="parquet::StreamReader::SkipColumns__int64_t"></span><span class="target" id="classparquet_1_1_stream_reader_1a70743b91e16ef34018a173e0a1b01ac3"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SkipColumns</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">num_columns_to_skip</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet12StreamReader11SkipColumnsE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Skip the data in the next columns. </p>
<p>If the number of columns exceeds the columns remaining on the current row then skipping is terminated - it does <em>not</em> continue skipping columns on the next row. Skipping of columns still requires the use ‘EndRow’ even if all remaining columns were skipped. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>Number of columns actually skipped. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet12StreamReader8SkipRowsE7int64_t">
<span id="_CPPv3N7parquet12StreamReader8SkipRowsE7int64_t"></span><span id="_CPPv2N7parquet12StreamReader8SkipRowsE7int64_t"></span><span id="parquet::StreamReader::SkipRows__int64_t"></span><span class="target" id="classparquet_1_1_stream_reader_1a832ce21cc798eb6d2a50fc36ce59f1c1"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SkipRows</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">num_rows_to_skip</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet12StreamReader8SkipRowsE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Skip the data in the next rows. </p>
<p>Skipping of rows is not allowed if reading of data for the current row is not finished. Skipping of rows will be terminated if the end of file is reached. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>Number of rows actually skipped. </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</section>
<section id="parquet-writer">
<h2>Parquet writer<a class="headerlink" href="#parquet-writer" title="Permalink to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterPropertiesE">
<span id="_CPPv3N7parquet16WriterPropertiesE"></span><span id="_CPPv2N7parquet16WriterPropertiesE"></span><span id="parquet::WriterProperties"></span><span class="target" id="classparquet_1_1_writer_properties"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriterProperties</span></span></span><a class="headerlink" href="#_CPPv4N7parquet16WriterPropertiesE" title="Permalink to this definition">#</a><br /></dt>
<dd><dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7BuilderE">
<span id="_CPPv3N7parquet16WriterProperties7BuilderE"></span><span id="_CPPv2N7parquet16WriterProperties7BuilderE"></span><span id="parquet::WriterProperties::Builder"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Builder</span></span></span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder11memory_poolEP10MemoryPool">
<span id="_CPPv3N7parquet16WriterProperties7Builder11memory_poolEP10MemoryPool"></span><span id="_CPPv2N7parquet16WriterProperties7Builder11memory_poolEP10MemoryPool"></span><span id="parquet::WriterProperties::Builder::memory_pool__MemoryPoolP"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1aed16632b4832d873a020f7e879bffe45"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">memory_pool</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">MemoryPool</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder11memory_poolEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify the memory pool for the writer. Default default_memory_pool. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder17enable_dictionaryEv">
<span id="_CPPv3N7parquet16WriterProperties7Builder17enable_dictionaryEv"></span><span id="_CPPv2N7parquet16WriterProperties7Builder17enable_dictionaryEv"></span><span id="parquet::WriterProperties::Builder::enable_dictionary"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a5fd6f5be6d2d8317b7d35e1d2d2521e3"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_dictionary</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder17enable_dictionaryEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable dictionary encoding in general for all columns. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder18disable_dictionaryEv">
<span id="_CPPv3N7parquet16WriterProperties7Builder18disable_dictionaryEv"></span><span id="_CPPv2N7parquet16WriterProperties7Builder18disable_dictionaryEv"></span><span id="parquet::WriterProperties::Builder::disable_dictionary"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1ac78babb7bb5893f4e6e19c5055a3d80c"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_dictionary</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder18disable_dictionaryEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable dictionary encoding in general for all columns. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder17enable_dictionaryERKNSt6stringE">
<span id="_CPPv3N7parquet16WriterProperties7Builder17enable_dictionaryERKNSt6stringE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder17enable_dictionaryERKNSt6stringE"></span><span id="parquet::WriterProperties::Builder::enable_dictionary__ssCR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1ad1b035ad5935cb19e3c1b2685a19234f"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_dictionary</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder17enable_dictionaryERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable dictionary encoding for column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder17enable_dictionaryERKNSt10shared_ptrIN6schema10ColumnPathEEE">
<span id="_CPPv3N7parquet16WriterProperties7Builder17enable_dictionaryERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder17enable_dictionaryERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="parquet::WriterProperties::Builder::enable_dictionary__std::shared_ptr:schema::ColumnPath:CR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a1db5a12b5366dc1d28e963cfeeda3db0"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_dictionary</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv46schema11FieldVectorNSt10shared_ptrIK16KeyValueMetadataEE" title="schema"><span class="n"><span class="pre">schema</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ColumnPath</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder17enable_dictionaryERKNSt10shared_ptrIN6schema10ColumnPathEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable dictionary encoding for column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder18disable_dictionaryERKNSt6stringE">
<span id="_CPPv3N7parquet16WriterProperties7Builder18disable_dictionaryERKNSt6stringE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder18disable_dictionaryERKNSt6stringE"></span><span id="parquet::WriterProperties::Builder::disable_dictionary__ssCR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a9a7a5a7cdbe52945925e2aa2e7f82793"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_dictionary</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder18disable_dictionaryERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable dictionary encoding for column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder18disable_dictionaryERKNSt10shared_ptrIN6schema10ColumnPathEEE">
<span id="_CPPv3N7parquet16WriterProperties7Builder18disable_dictionaryERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder18disable_dictionaryERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="parquet::WriterProperties::Builder::disable_dictionary__std::shared_ptr:schema::ColumnPath:CR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a7b07bbe03f6ed2c53b68666fed58ec2e"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_dictionary</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv46schema11FieldVectorNSt10shared_ptrIK16KeyValueMetadataEE" title="schema"><span class="n"><span class="pre">schema</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ColumnPath</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder18disable_dictionaryERKNSt10shared_ptrIN6schema10ColumnPathEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable dictionary encoding for column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder25dictionary_pagesize_limitE7int64_t">
<span id="_CPPv3N7parquet16WriterProperties7Builder25dictionary_pagesize_limitE7int64_t"></span><span id="_CPPv2N7parquet16WriterProperties7Builder25dictionary_pagesize_limitE7int64_t"></span><span id="parquet::WriterProperties::Builder::dictionary_pagesize_limit__int64_t"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a2f5252582d67c92ecad01542fcbc2280"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">dictionary_pagesize_limit</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">dictionary_psize_limit</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder25dictionary_pagesize_limitE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify the dictionary page size limit per row group. Default 1MB. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder16write_batch_sizeE7int64_t">
<span id="_CPPv3N7parquet16WriterProperties7Builder16write_batch_sizeE7int64_t"></span><span id="_CPPv2N7parquet16WriterProperties7Builder16write_batch_sizeE7int64_t"></span><span id="parquet::WriterProperties::Builder::write_batch_size__int64_t"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1aaeec6cfc44a9b59f28c7260e9ef91d00"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">write_batch_size</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">write_batch_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder16write_batch_sizeE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify the write batch size while writing batches of Arrow values into Parquet. </p>
<p>Default 1024. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder20max_row_group_lengthE7int64_t">
<span id="_CPPv3N7parquet16WriterProperties7Builder20max_row_group_lengthE7int64_t"></span><span id="_CPPv2N7parquet16WriterProperties7Builder20max_row_group_lengthE7int64_t"></span><span id="parquet::WriterProperties::Builder::max_row_group_length__int64_t"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1ac31710deba40e91febe76d57620836bf"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">max_row_group_length</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">max_row_group_length</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder20max_row_group_lengthE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify the max number of rows to put in a single row group. </p>
<p>Default 1Mi rows. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder13data_pagesizeE7int64_t">
<span id="_CPPv3N7parquet16WriterProperties7Builder13data_pagesizeE7int64_t"></span><span id="_CPPv2N7parquet16WriterProperties7Builder13data_pagesizeE7int64_t"></span><span id="parquet::WriterProperties::Builder::data_pagesize__int64_t"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a895603e490a660bfcbd0d745e5e1ddae"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">data_pagesize</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">pg_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder13data_pagesizeE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify the data page size. </p>
<p>Default 1MB. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder17data_page_versionE22ParquetDataPageVersion">
<span id="_CPPv3N7parquet16WriterProperties7Builder17data_page_versionE22ParquetDataPageVersion"></span><span id="_CPPv2N7parquet16WriterProperties7Builder17data_page_versionE22ParquetDataPageVersion"></span><span id="parquet::WriterProperties::Builder::data_page_version__ParquetDataPageVersion"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a546fde4058520f1ba5a1a8d81e29296e"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">data_page_version</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ParquetDataPageVersion</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">data_page_version</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder17data_page_versionE22ParquetDataPageVersion" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify the data page version. </p>
<p>Default V1. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder7versionEN14ParquetVersion4typeE">
<span id="_CPPv3N7parquet16WriterProperties7Builder7versionEN14ParquetVersion4typeE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder7versionEN14ParquetVersion4typeE"></span><span id="parquet::WriterProperties::Builder::version__ParquetVersion::type"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1aeb2820ee1bbf247874a2eea8557768f0"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">version</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">ParquetVersion</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">version</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder7versionEN14ParquetVersion4typeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify the Parquet file version. </p>
<p>Default PARQUET_2_6. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder8encodingEN8Encoding4typeE">
<span id="_CPPv3N7parquet16WriterProperties7Builder8encodingEN8Encoding4typeE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder8encodingEN8Encoding4typeE"></span><span id="parquet::WriterProperties::Builder::encoding__Encoding::type"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a88427d09dec4ab263d8c35bcee05874e"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">encoding</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">Encoding</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">encoding_type</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder8encodingEN8Encoding4typeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Define the encoding that is used when we don’t utilise dictionary encoding. </p>
<p>This either apply if dictionary encoding is disabled or if we fallback as the dictionary grew too large. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder8encodingERKNSt6stringEN8Encoding4typeE">
<span id="_CPPv3N7parquet16WriterProperties7Builder8encodingERKNSt6stringEN8Encoding4typeE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder8encodingERKNSt6stringEN8Encoding4typeE"></span><span id="parquet::WriterProperties::Builder::encoding__ssCR.Encoding::type"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a3028e9dcd4c7a2e1b8bf8ff5de431465"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">encoding</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="n"><span class="pre">Encoding</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">encoding_type</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder8encodingERKNSt6stringEN8Encoding4typeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Define the encoding that is used when we don’t utilise dictionary encoding. </p>
<p>This either apply if dictionary encoding is disabled or if we fallback as the dictionary grew too large. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder8encodingERKNSt10shared_ptrIN6schema10ColumnPathEEEN8Encoding4typeE">
<span id="_CPPv3N7parquet16WriterProperties7Builder8encodingERKNSt10shared_ptrIN6schema10ColumnPathEEEN8Encoding4typeE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder8encodingERKNSt10shared_ptrIN6schema10ColumnPathEEEN8Encoding4typeE"></span><span id="parquet::WriterProperties::Builder::encoding__std::shared_ptr:schema::ColumnPath:CR.Encoding::type"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1af3f10570c84ad6551c448cb41d7050f8"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">encoding</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv46schema11FieldVectorNSt10shared_ptrIK16KeyValueMetadataEE" title="schema"><span class="n"><span class="pre">schema</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ColumnPath</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="n"><span class="pre">Encoding</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">encoding_type</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder8encodingERKNSt10shared_ptrIN6schema10ColumnPathEEEN8Encoding4typeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Define the encoding that is used when we don’t utilise dictionary encoding. </p>
<p>This either apply if dictionary encoding is disabled or if we fallback as the dictionary grew too large. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder11compressionEN11Compression4typeE">
<span id="_CPPv3N7parquet16WriterProperties7Builder11compressionEN11Compression4typeE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder11compressionEN11Compression4typeE"></span><span id="parquet::WriterProperties::Builder::compression__Compression::type"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a037443f0a3dc004eb6c70d2067d19512"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">compression</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">Compression</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">codec</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder11compressionEN11Compression4typeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify compression codec in general for all columns. </p>
<p>Default UNCOMPRESSED. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder19max_statistics_sizeE6size_t">
<span id="_CPPv3N7parquet16WriterProperties7Builder19max_statistics_sizeE6size_t"></span><span id="_CPPv2N7parquet16WriterProperties7Builder19max_statistics_sizeE6size_t"></span><span id="parquet::WriterProperties::Builder::max_statistics_size__s"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1aee8dd2286d49834f016568b334b44baa"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">max_statistics_size</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">size_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">max_stats_sz</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder19max_statistics_sizeE6size_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify max statistics size to store min max value. </p>
<p>Default 4KB. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder11compressionERKNSt6stringEN11Compression4typeE">
<span id="_CPPv3N7parquet16WriterProperties7Builder11compressionERKNSt6stringEN11Compression4typeE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder11compressionERKNSt6stringEN11Compression4typeE"></span><span id="parquet::WriterProperties::Builder::compression__ssCR.Compression::type"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a8697be12f74950d4d8e2567e24e6dad1"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">compression</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="n"><span class="pre">Compression</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">codec</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder11compressionERKNSt6stringEN11Compression4typeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify compression codec for the column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. </p>
<p>Default UNCOMPRESSED. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder11compressionERKNSt10shared_ptrIN6schema10ColumnPathEEEN11Compression4typeE">
<span id="_CPPv3N7parquet16WriterProperties7Builder11compressionERKNSt10shared_ptrIN6schema10ColumnPathEEEN11Compression4typeE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder11compressionERKNSt10shared_ptrIN6schema10ColumnPathEEEN11Compression4typeE"></span><span id="parquet::WriterProperties::Builder::compression__std::shared_ptr:schema::ColumnPath:CR.Compression::type"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a96a34a909c712eaa2ac2b0b23f2c14b2"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">compression</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv46schema11FieldVectorNSt10shared_ptrIK16KeyValueMetadataEE" title="schema"><span class="n"><span class="pre">schema</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ColumnPath</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="n"><span class="pre">Compression</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">type</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">codec</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder11compressionERKNSt10shared_ptrIN6schema10ColumnPathEEEN11Compression4typeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify compression codec for the column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. </p>
<p>Default UNCOMPRESSED. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder17compression_levelEi">
<span id="_CPPv3N7parquet16WriterProperties7Builder17compression_levelEi"></span><span id="_CPPv2N7parquet16WriterProperties7Builder17compression_levelEi"></span><span id="parquet::WriterProperties::Builder::compression_level__i"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1ab2a518fa37fbb25eb39c5d62fbb669d4"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">compression_level</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">compression_level</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder17compression_levelEi" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify the default compression level for the compressor in every column. </p>
<p>In case a column does not have an explicitly specified compression level, the default one would be used.</p>
<p>The provided compression level is compressor specific. The user would have to familiarize oneself with the available levels for the selected compressor. If the compressor does not allow for selecting different compression levels, calling this function would not have any effect. Parquet and Arrow do not validate the passed compression level. If no level is selected by the user or if the special std::numeric_limits&lt;int&gt;::min() value is passed, then Arrow selects the compression level.</p>
<p>If other compressor-specific options need to be set in addition to the compression level, use the codec_options method. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder17compression_levelERKNSt6stringEi">
<span id="_CPPv3N7parquet16WriterProperties7Builder17compression_levelERKNSt6stringEi"></span><span id="_CPPv2N7parquet16WriterProperties7Builder17compression_levelERKNSt6stringEi"></span><span id="parquet::WriterProperties::Builder::compression_level__ssCR.i"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a56c4e7e6292eb3962cc4273b5959a819"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">compression_level</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">compression_level</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder17compression_levelERKNSt6stringEi" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify a compression level for the compressor for the column described by path. </p>
<p>The provided compression level is compressor specific. The user would have to familiarize oneself with the available levels for the selected compressor. If the compressor does not allow for selecting different compression levels, calling this function would not have any effect. Parquet and Arrow do not validate the passed compression level. If no level is selected by the user or if the special std::numeric_limits&lt;int&gt;::min() value is passed, then Arrow selects the compression level. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder17compression_levelERKNSt10shared_ptrIN6schema10ColumnPathEEEi">
<span id="_CPPv3N7parquet16WriterProperties7Builder17compression_levelERKNSt10shared_ptrIN6schema10ColumnPathEEEi"></span><span id="_CPPv2N7parquet16WriterProperties7Builder17compression_levelERKNSt10shared_ptrIN6schema10ColumnPathEEEi"></span><span id="parquet::WriterProperties::Builder::compression_level__std::shared_ptr:schema::ColumnPath:CR.i"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a3ea3a18388f7f4f7d37964ea98777a86"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">compression_level</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv46schema11FieldVectorNSt10shared_ptrIK16KeyValueMetadataEE" title="schema"><span class="n"><span class="pre">schema</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ColumnPath</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">compression_level</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder17compression_levelERKNSt10shared_ptrIN6schema10ColumnPathEEEi" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify a compression level for the compressor for the column described by path. </p>
<p>The provided compression level is compressor specific. The user would have to familiarize oneself with the available levels for the selected compressor. If the compressor does not allow for selecting different compression levels, calling this function would not have any effect. Parquet and Arrow do not validate the passed compression level. If no level is selected by the user or if the special std::numeric_limits&lt;int&gt;::min() value is passed, then Arrow selects the compression level. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder13codec_optionsERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE">
<span id="_CPPv3N7parquet16WriterProperties7Builder13codec_optionsERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder13codec_optionsERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE"></span><span id="parquet::WriterProperties::Builder::codec_options__std::shared_ptr:arrow::util::CodecOptions:CR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a84e3b1cf764749bab07486f9370e2d6a"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">codec_options</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">util</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">CodecOptions</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">codec_options</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder13codec_optionsERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify the default codec options for the compressor in every column. </p>
<p>The codec options allow configuring the compression level as well as other codec-specific options. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder13codec_optionsERKNSt6stringERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE">
<span id="_CPPv3N7parquet16WriterProperties7Builder13codec_optionsERKNSt6stringERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder13codec_optionsERKNSt6stringERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE"></span><span id="parquet::WriterProperties::Builder::codec_options__ssCR.std::shared_ptr:arrow::util::CodecOptions:CR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a6aa34b2ae2b1ffd4967c9a836d7f630c"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">codec_options</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">util</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">CodecOptions</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">codec_options</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder13codec_optionsERKNSt6stringERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify the codec options for the compressor for the column described by path. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder13codec_optionsERKNSt10shared_ptrIN6schema10ColumnPathEEERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE">
<span id="_CPPv3N7parquet16WriterProperties7Builder13codec_optionsERKNSt10shared_ptrIN6schema10ColumnPathEEERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder13codec_optionsERKNSt10shared_ptrIN6schema10ColumnPathEEERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE"></span><span id="parquet::WriterProperties::Builder::codec_options__std::shared_ptr:schema::ColumnPath:CR.std::shared_ptr:arrow::util::CodecOptions:CR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1aeabfbf7fdcf248e0af7da8445108799a"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">codec_options</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv46schema11FieldVectorNSt10shared_ptrIK16KeyValueMetadataEE" title="schema"><span class="n"><span class="pre">schema</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ColumnPath</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">util</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">CodecOptions</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">codec_options</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder13codec_optionsERKNSt10shared_ptrIN6schema10ColumnPathEEERKNSt10shared_ptrIN5arrow4util12CodecOptionsEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Specify the codec options for the compressor for the column described by path. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder10encryptionENSt10shared_ptrI24FileEncryptionPropertiesEE">
<span id="_CPPv3N7parquet16WriterProperties7Builder10encryptionENSt10shared_ptrI24FileEncryptionPropertiesEE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder10encryptionENSt10shared_ptrI24FileEncryptionPropertiesEE"></span><span id="parquet::WriterProperties::Builder::encryption__std::shared_ptr:FileEncryptionProperties:"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1adc44f21ecabcf6a3979fc489208750fe"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">encryption</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">FileEncryptionProperties</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">file_encryption_properties</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder10encryptionENSt10shared_ptrI24FileEncryptionPropertiesEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Define the file encryption properties. </p>
<p>Default NULL. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder17enable_statisticsEv">
<span id="_CPPv3N7parquet16WriterProperties7Builder17enable_statisticsEv"></span><span id="_CPPv2N7parquet16WriterProperties7Builder17enable_statisticsEv"></span><span id="parquet::WriterProperties::Builder::enable_statistics"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a9afbd9f76137090ff81789ee74be7fe6"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_statistics</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder17enable_statisticsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable statistics in general. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder18disable_statisticsEv">
<span id="_CPPv3N7parquet16WriterProperties7Builder18disable_statisticsEv"></span><span id="_CPPv2N7parquet16WriterProperties7Builder18disable_statisticsEv"></span><span id="parquet::WriterProperties::Builder::disable_statistics"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a4c605d044a2d044532995d6c28973e02"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_statistics</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder18disable_statisticsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable statistics in general. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder17enable_statisticsERKNSt6stringE">
<span id="_CPPv3N7parquet16WriterProperties7Builder17enable_statisticsERKNSt6stringE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder17enable_statisticsERKNSt6stringE"></span><span id="parquet::WriterProperties::Builder::enable_statistics__ssCR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a172f7510abcc677d4cec9fca4fe35299"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_statistics</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder17enable_statisticsERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable statistics for the column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder17enable_statisticsERKNSt10shared_ptrIN6schema10ColumnPathEEE">
<span id="_CPPv3N7parquet16WriterProperties7Builder17enable_statisticsERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder17enable_statisticsERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="parquet::WriterProperties::Builder::enable_statistics__std::shared_ptr:schema::ColumnPath:CR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1aee401cee5a00e76d65d5e28fd750e7e7"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_statistics</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv46schema11FieldVectorNSt10shared_ptrIK16KeyValueMetadataEE" title="schema"><span class="n"><span class="pre">schema</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ColumnPath</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder17enable_statisticsERKNSt10shared_ptrIN6schema10ColumnPathEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable statistics for the column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder19set_sorting_columnsENSt6vectorI13SortingColumnEE">
<span id="_CPPv3N7parquet16WriterProperties7Builder19set_sorting_columnsENSt6vectorI13SortingColumnEE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder19set_sorting_columnsENSt6vectorI13SortingColumnEE"></span><span id="parquet::WriterProperties::Builder::set_sorting_columns__std::vector:SortingColumn:"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1ad537c9def1b22018f4c89956ff1a4d7f"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">set_sorting_columns</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">SortingColumn</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">sorting_columns</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder19set_sorting_columnsENSt6vectorI13SortingColumnEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Define the sorting columns. </p>
<p>Default empty.</p>
<p>If sorting columns are set, user should ensure that records are sorted by sorting columns. Otherwise, the storing data will be inconsistent with sorting_columns metadata. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder18disable_statisticsERKNSt6stringE">
<span id="_CPPv3N7parquet16WriterProperties7Builder18disable_statisticsERKNSt6stringE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder18disable_statisticsERKNSt6stringE"></span><span id="parquet::WriterProperties::Builder::disable_statistics__ssCR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a314b644bbec20d16d921815b3276deac"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_statistics</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder18disable_statisticsERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable statistics for the column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder18disable_statisticsERKNSt10shared_ptrIN6schema10ColumnPathEEE">
<span id="_CPPv3N7parquet16WriterProperties7Builder18disable_statisticsERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder18disable_statisticsERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="parquet::WriterProperties::Builder::disable_statistics__std::shared_ptr:schema::ColumnPath:CR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a04d2e02e4a70a6ca0e75d7eb169771ec"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_statistics</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv46schema11FieldVectorNSt10shared_ptrIK16KeyValueMetadataEE" title="schema"><span class="n"><span class="pre">schema</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ColumnPath</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder18disable_statisticsERKNSt10shared_ptrIN6schema10ColumnPathEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable statistics for the column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. </p>
<p>Default enabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder31enable_store_decimal_as_integerEv">
<span id="_CPPv3N7parquet16WriterProperties7Builder31enable_store_decimal_as_integerEv"></span><span id="_CPPv2N7parquet16WriterProperties7Builder31enable_store_decimal_as_integerEv"></span><span id="parquet::WriterProperties::Builder::enable_store_decimal_as_integer"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a38d35542a0c560f8d2caceccd63e311f"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_store_decimal_as_integer</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder31enable_store_decimal_as_integerEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Allow decimals with 1 &lt;= precision &lt;= 18 to be stored as integers. </p>
<p>In Parquet, DECIMAL can be stored in any of the following physical types:<ul class="simple">
<li><p>int32: for 1 &lt;= precision &lt;= 9.</p></li>
<li><p>int64: for 10 &lt;= precision &lt;= 18.</p></li>
<li><p>fixed_len_byte_array: precision is limited by the array size. Length n can store &lt;= floor(log_10(2^(8*n - 1) - 1)) base-10 digits.</p></li>
<li><p>binary: precision is unlimited. The minimum number of bytes to store the unscaled value is used.</p></li>
</ul>
</p>
<p>By default, this is DISABLED and all decimal types annotate fixed_len_byte_array.</p>
<p>When enabled, the C++ writer will use following physical types to store decimals:<ul class="simple">
<li><p>int32: for 1 &lt;= precision &lt;= 9.</p></li>
<li><p>int64: for 10 &lt;= precision &lt;= 18.</p></li>
<li><p>fixed_len_byte_array: for precision &gt; 18.</p></li>
</ul>
</p>
<p>As a consequence, decimal columns stored in integer types are more compact. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder32disable_store_decimal_as_integerEv">
<span id="_CPPv3N7parquet16WriterProperties7Builder32disable_store_decimal_as_integerEv"></span><span id="_CPPv2N7parquet16WriterProperties7Builder32disable_store_decimal_as_integerEv"></span><span id="parquet::WriterProperties::Builder::disable_store_decimal_as_integer"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a673c01fe3ea25f53f3bb2795dc2e0abc"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_store_decimal_as_integer</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder32disable_store_decimal_as_integerEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable decimal logical type with 1 &lt;= precision &lt;= 18 to be stored as integer physical type. </p>
<p>Default disabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder23enable_write_page_indexEv">
<span id="_CPPv3N7parquet16WriterProperties7Builder23enable_write_page_indexEv"></span><span id="_CPPv2N7parquet16WriterProperties7Builder23enable_write_page_indexEv"></span><span id="parquet::WriterProperties::Builder::enable_write_page_index"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1ac1a9e399dbe965461e493ff4a45c3e59"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_write_page_index</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder23enable_write_page_indexEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable writing page index in general for all columns. </p>
<p>Default disabled.</p>
<p>Writing statistics to the page index disables the old method of writing statistics to each data page header. The page index makes filtering more efficient than the page header, as it gathers all the statistics for a Parquet file in a single place, avoiding scattered I/O.</p>
<p>Please check the link below for more details: <a class="github reference external" href="https://github.com/apache/parquet-format/blob/master/PageIndex.md">apache/parquet-format</a></p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder24disable_write_page_indexEv">
<span id="_CPPv3N7parquet16WriterProperties7Builder24disable_write_page_indexEv"></span><span id="_CPPv2N7parquet16WriterProperties7Builder24disable_write_page_indexEv"></span><span id="parquet::WriterProperties::Builder::disable_write_page_index"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a5a79b4a5d05caa7b7e6a0e6962ca7303"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_write_page_index</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder24disable_write_page_indexEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable writing page index in general for all columns. Default disabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder23enable_write_page_indexERKNSt6stringE">
<span id="_CPPv3N7parquet16WriterProperties7Builder23enable_write_page_indexERKNSt6stringE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder23enable_write_page_indexERKNSt6stringE"></span><span id="parquet::WriterProperties::Builder::enable_write_page_index__ssCR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a8fe0422f49602add291aec006cc5382b"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_write_page_index</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder23enable_write_page_indexERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable writing page index for column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. Default disabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder23enable_write_page_indexERKNSt10shared_ptrIN6schema10ColumnPathEEE">
<span id="_CPPv3N7parquet16WriterProperties7Builder23enable_write_page_indexERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder23enable_write_page_indexERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="parquet::WriterProperties::Builder::enable_write_page_index__std::shared_ptr:schema::ColumnPath:CR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a2d3ee3edb09a571af5f15a86a71f1048"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_write_page_index</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv46schema11FieldVectorNSt10shared_ptrIK16KeyValueMetadataEE" title="schema"><span class="n"><span class="pre">schema</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ColumnPath</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder23enable_write_page_indexERKNSt10shared_ptrIN6schema10ColumnPathEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable writing page index for column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. Default disabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder24disable_write_page_indexERKNSt6stringE">
<span id="_CPPv3N7parquet16WriterProperties7Builder24disable_write_page_indexERKNSt6stringE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder24disable_write_page_indexERKNSt6stringE"></span><span id="parquet::WriterProperties::Builder::disable_write_page_index__ssCR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a9257893a74c81893607c47ea310a0bc8"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_write_page_index</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder24disable_write_page_indexERKNSt6stringE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable writing page index for column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. Default disabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder24disable_write_page_indexERKNSt10shared_ptrIN6schema10ColumnPathEEE">
<span id="_CPPv3N7parquet16WriterProperties7Builder24disable_write_page_indexERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="_CPPv2N7parquet16WriterProperties7Builder24disable_write_page_indexERKNSt10shared_ptrIN6schema10ColumnPathEEE"></span><span id="parquet::WriterProperties::Builder::disable_write_page_index__std::shared_ptr:schema::ColumnPath:CR"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1a4597f5e3caad7dc65479bf98afc9e165"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet16WriterProperties7BuilderE" title="parquet::WriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_write_page_index</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv46schema11FieldVectorNSt10shared_ptrIK16KeyValueMetadataEE" title="schema"><span class="n"><span class="pre">schema</span></span></a><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">ColumnPath</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">path</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder24disable_write_page_indexERKNSt10shared_ptrIN6schema10ColumnPathEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable writing page index for column specified by <code class="docutils literal notranslate"><span class="pre">path</span></code>. Default disabled. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet16WriterProperties7Builder5buildEv">
<span id="_CPPv3N7parquet16WriterProperties7Builder5buildEv"></span><span id="_CPPv2N7parquet16WriterProperties7Builder5buildEv"></span><span id="parquet::WriterProperties::Builder::build"></span><span class="target" id="classparquet_1_1_writer_properties_1_1_builder_1af074789bd0ce79b429ca6e17c0045be0"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet16WriterPropertiesE" title="parquet::WriterProperties"><span class="n"><span class="pre">WriterProperties</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">build</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet16WriterProperties7Builder5buildEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Build the <a class="reference internal" href="#classparquet_1_1_writer_properties"><span class="std std-ref">WriterProperties</span></a> with the builder parameters. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>The <a class="reference internal" href="#classparquet_1_1_writer_properties"><span class="std std-ref">WriterProperties</span></a> defined by the builder. </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterPropertiesE">
<span id="_CPPv3N7parquet21ArrowWriterPropertiesE"></span><span id="_CPPv2N7parquet21ArrowWriterPropertiesE"></span><span id="parquet::ArrowWriterProperties"></span><span class="target" id="classparquet_1_1_arrow_writer_properties"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ArrowWriterProperties</span></span></span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterPropertiesE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet21ArrowWriterProperties22compliant_nested_typesEv">
<span id="_CPPv3NK7parquet21ArrowWriterProperties22compliant_nested_typesEv"></span><span id="_CPPv2NK7parquet21ArrowWriterProperties22compliant_nested_typesEv"></span><span id="parquet::ArrowWriterProperties::compliant_nested_typesC"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1aec87c51f89acdbf303a58de5924210e6"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">compliant_nested_types</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet21ArrowWriterProperties22compliant_nested_typesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable nested type naming according to the parquet specification. </p>
<p>Older versions of arrow wrote out field names for nested lists based on the name of the field. According to the parquet specification they should always be “element”. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet21ArrowWriterProperties14engine_versionEv">
<span id="_CPPv3NK7parquet21ArrowWriterProperties14engine_versionEv"></span><span id="_CPPv2NK7parquet21ArrowWriterProperties14engine_versionEv"></span><span id="parquet::ArrowWriterProperties::engine_versionC"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1a6124beff190b6cc323fac9e29f5e55a0"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">EngineVersion</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">engine_version</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet21ArrowWriterProperties14engine_versionEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The underlying engine version to use when writing Arrow data. </p>
<p>V2 is currently the latest V1 is considered deprecated but left in place in case there are bugs detected in V2. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet21ArrowWriterProperties11use_threadsEv">
<span id="_CPPv3NK7parquet21ArrowWriterProperties11use_threadsEv"></span><span id="_CPPv2NK7parquet21ArrowWriterProperties11use_threadsEv"></span><span id="parquet::ArrowWriterProperties::use_threadsC"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1a58fbd195e09dd8511b4cc3c4a64ca08e"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">use_threads</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet21ArrowWriterProperties11use_threadsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Returns whether the writer will use multiple threads to write columns in parallel in the buffered row group mode. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet21ArrowWriterProperties8executorEv">
<span id="_CPPv3NK7parquet21ArrowWriterProperties8executorEv"></span><span id="_CPPv2NK7parquet21ArrowWriterProperties8executorEv"></span><span id="parquet::ArrowWriterProperties::executorC"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1a3d138534a2750432350b5b7d5b8e7688"></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Executor</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">executor</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><a class="headerlink" href="#_CPPv4NK7parquet21ArrowWriterProperties8executorEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Returns the executor used to write columns in parallel. </p>
</dd></dl>
</div>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7BuilderE">
<span id="_CPPv3N7parquet21ArrowWriterProperties7BuilderE"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7BuilderE"></span><span id="parquet::ArrowWriterProperties::Builder"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Builder</span></span></span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="Permalink to this definition">#</a><br /></dt>
<dd><div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder35disable_deprecated_int96_timestampsEv">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder35disable_deprecated_int96_timestampsEv"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder35disable_deprecated_int96_timestampsEv"></span><span id="parquet::ArrowWriterProperties::Builder::disable_deprecated_int96_timestamps"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1ad6f17eda4325e45511b886ddfb86b160"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="parquet::ArrowWriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_deprecated_int96_timestamps</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder35disable_deprecated_int96_timestampsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disable writing legacy int96 timestamps (default disabled). </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder34enable_deprecated_int96_timestampsEv">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder34enable_deprecated_int96_timestampsEv"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder34enable_deprecated_int96_timestampsEv"></span><span id="parquet::ArrowWriterProperties::Builder::enable_deprecated_int96_timestamps"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1af953123d211462f58ad12f6ee9fb03df"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="parquet::ArrowWriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_deprecated_int96_timestamps</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder34enable_deprecated_int96_timestampsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Enable writing legacy int96 timestamps (default disabled). </p>
<p>May be turned on to write timestamps compatible with older Parquet writers. This takes precedent over coerce_timestamps. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder17coerce_timestampsEN5arrow8TimeUnit4typeE">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder17coerce_timestampsEN5arrow8TimeUnit4typeE"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder17coerce_timestampsEN5arrow8TimeUnit4typeE"></span><span id="parquet::ArrowWriterProperties::Builder::coerce_timestamps__arrow::TimeUnit::type"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1a1d3ae6cd5596c25f5cdf16880ce7600d"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="parquet::ArrowWriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">coerce_timestamps</span></span></span><span class="sig-paren">(</span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">TimeUnit</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow8TimeUnit4typeE" title="arrow::TimeUnit::type"><span class="n"><span class="pre">type</span></span></a><span class="w"> </span><span class="n sig-param"><span class="pre">unit</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder17coerce_timestampsEN5arrow8TimeUnit4typeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Coerce all timestamps to the specified time unit. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>unit</strong> – time unit to truncate to. For Parquet versions 1.0 and 2.4, nanoseconds are casted to microseconds. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder26allow_truncated_timestampsEv">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder26allow_truncated_timestampsEv"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder26allow_truncated_timestampsEv"></span><span id="parquet::ArrowWriterProperties::Builder::allow_truncated_timestamps"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1a23ca2f5ab4e654decc1c0bc5d5612add"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="parquet::ArrowWriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">allow_truncated_timestamps</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder26allow_truncated_timestampsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Allow loss of data when truncating timestamps. </p>
<p>This is disallowed by default and an error will be returned. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder29disallow_truncated_timestampsEv">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder29disallow_truncated_timestampsEv"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder29disallow_truncated_timestampsEv"></span><span id="parquet::ArrowWriterProperties::Builder::disallow_truncated_timestamps"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1a2e18b6d34c49e45699237f5d8180f2d6"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="parquet::ArrowWriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disallow_truncated_timestamps</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder29disallow_truncated_timestampsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Disallow loss of data when truncating timestamps (default). </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder12store_schemaEv">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder12store_schemaEv"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder12store_schemaEv"></span><span id="parquet::ArrowWriterProperties::Builder::store_schema"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1a634532d161a97993fdc15c836ce86c1c"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="parquet::ArrowWriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">store_schema</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder12store_schemaEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>EXPERIMENTAL: Write binary serialized Arrow schema to the file, to enable certain read options (like “read_dictionary”) to be set automatically. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder29enable_compliant_nested_typesEv">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder29enable_compliant_nested_typesEv"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder29enable_compliant_nested_typesEv"></span><span id="parquet::ArrowWriterProperties::Builder::enable_compliant_nested_types"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1a3b1837cda62a12d5d2d3a9b5eba1d3ca"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="parquet::ArrowWriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">enable_compliant_nested_types</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder29enable_compliant_nested_typesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>When enabled, will not preserve Arrow field names for list types. </p>
<p>Instead of using the field names Arrow uses for the values array of list types (default “item”), will use “element”, as is specified in the Parquet spec.</p>
<p>This is enabled by default. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder30disable_compliant_nested_typesEv">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder30disable_compliant_nested_typesEv"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder30disable_compliant_nested_typesEv"></span><span id="parquet::ArrowWriterProperties::Builder::disable_compliant_nested_types"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1a5fb87c8bd49f167da23c5321b32d242c"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="parquet::ArrowWriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">disable_compliant_nested_types</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder30disable_compliant_nested_typesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Preserve Arrow list field name. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder18set_engine_versionE13EngineVersion">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder18set_engine_versionE13EngineVersion"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder18set_engine_versionE13EngineVersion"></span><span id="parquet::ArrowWriterProperties::Builder::set_engine_version__EngineVersion"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1a113025436a13ef422a6257c029403be4"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="parquet::ArrowWriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">set_engine_version</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">EngineVersion</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">version</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder18set_engine_versionE13EngineVersion" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set the version of the Parquet writer engine. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder15set_use_threadsEb">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder15set_use_threadsEb"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder15set_use_threadsEb"></span><span id="parquet::ArrowWriterProperties::Builder::set_use_threads__b"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1abc9c5725c6cc42c69bcd4dd7d3d578b1"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="parquet::ArrowWriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">set_use_threads</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">use_threads</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder15set_use_threadsEb" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set whether to use multiple threads to write columns in parallel in the buffered row group mode. </p>
<p>WARNING: If writing multiple files in parallel in the same executor, deadlock may occur if use_threads is true. Please disable it in this case.</p>
<p>Default is false. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder12set_executorEPN5arrow8internal8ExecutorE">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder12set_executorEPN5arrow8internal8ExecutorE"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder12set_executorEPN5arrow8internal8ExecutorE"></span><span id="parquet::ArrowWriterProperties::Builder::set_executor__arrow::internal::ExecutorP"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1a710ad2c811dd73298e1bc2545890aed3"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterProperties7BuilderE" title="parquet::ArrowWriterProperties::Builder"><span class="n"><span class="pre">Builder</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="sig-name descname"><span class="n"><span class="pre">set_executor</span></span></span><span class="sig-paren">(</span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">internal</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">Executor</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">executor</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder12set_executorEPN5arrow8internal8ExecutorE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Set the executor to write columns in parallel in the buffered row group mode. </p>
<p>Default is nullptr and the default cpu executor will be used. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet21ArrowWriterProperties7Builder5buildEv">
<span id="_CPPv3N7parquet21ArrowWriterProperties7Builder5buildEv"></span><span id="_CPPv2N7parquet21ArrowWriterProperties7Builder5buildEv"></span><span id="parquet::ArrowWriterProperties::Builder::build"></span><span class="target" id="classparquet_1_1_arrow_writer_properties_1_1_builder_1af101620361a543ed7a1558b93fce8dae"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterPropertiesE" title="parquet::ArrowWriterProperties"><span class="n"><span class="pre">ArrowWriterProperties</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">build</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet21ArrowWriterProperties7Builder5buildEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Create the final properties. </p>
</dd></dl>
</div>
</dd></dl>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileWriterE">
<span id="_CPPv3N7parquet5arrow10FileWriterE"></span><span id="_CPPv2N7parquet5arrow10FileWriterE"></span><span id="parquet::arrow::FileWriter"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FileWriter</span></span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileWriterE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Iterative <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_writer"><span class="std std-ref">FileWriter</span></a> class. </p>
<p>For basic usage, can write a Table at a time, creating one or more row groups per write call.</p>
<p>For advanced usage, can write column-by-column: Start a new RowGroup or Chunk with NewRowGroup, then write column-by-column the whole column chunk.</p>
<p>If PARQUET:field_id is present as a metadata key on a field, and the corresponding value is a nonnegative integer, then it will be used as the field_id in the parquet file. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileWriter4OpenERKN5arrow6SchemaEP10MemoryPoolNSt10shared_ptrIN5arrow2io12OutputStreamEEENSt10shared_ptrI16WriterPropertiesEENSt10shared_ptrI21ArrowWriterPropertiesEE">
<span id="_CPPv3N7parquet5arrow10FileWriter4OpenERKN5arrow6SchemaEP10MemoryPoolNSt10shared_ptrIN5arrow2io12OutputStreamEEENSt10shared_ptrI16WriterPropertiesEENSt10shared_ptrI21ArrowWriterPropertiesEE"></span><span id="_CPPv2N7parquet5arrow10FileWriter4OpenERKN5arrow6SchemaEP10MemoryPoolNSt10shared_ptrIN5arrow2io12OutputStreamEEENSt10shared_ptrI16WriterPropertiesEENSt10shared_ptrI21ArrowWriterPropertiesEE"></span><span id="parquet::arrow::FileWriter::Open__arrow::SchemaCR.MemoryPoolP.std::shared_ptr:arrow::io::OutputStream:.std::shared_ptr:WriterProperties:.std::shared_ptr:ArrowWriterProperties:"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer_1abeb4a7801a799fdcfe27e7ea5f628e21"></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet5arrow10FileWriterE" title="parquet::arrow::FileWriter"><span class="n"><span class="pre">FileWriter</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow6SchemaE" title="arrow::Schema"><span class="n"><span class="pre">Schema</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">schema</span></span>, <span class="n"><span class="pre">MemoryPool</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">sink</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet16WriterPropertiesE" title="parquet::WriterProperties"><span class="n"><span class="pre">WriterProperties</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">properties</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">default_writer_properties</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterPropertiesE" title="parquet::ArrowWriterProperties"><span class="n"><span class="pre">ArrowWriterProperties</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">arrow_properties</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">default_arrow_writer_properties</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileWriter4OpenERKN5arrow6SchemaEP10MemoryPoolNSt10shared_ptrIN5arrow2io12OutputStreamEEENSt10shared_ptrI16WriterPropertiesEENSt10shared_ptrI21ArrowWriterPropertiesEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Try to create an Arrow to Parquet file writer. </p>
<p><dl class="simple">
<dt><strong>Since</strong></dt><dd><p>11.0.0 </p>
</dd>
</dl>
</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>schema</strong> – schema of data that will be passed. </p></li>
<li><p><strong>pool</strong> – memory pool to use. </p></li>
<li><p><strong>sink</strong> – output stream to write Parquet data. </p></li>
<li><p><strong>properties</strong> – general Parquet writer properties. </p></li>
<li><p><strong>arrow_properties</strong> – Arrow-specific writer properties.</p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet5arrow10FileWriter6schemaEv">
<span id="_CPPv3NK7parquet5arrow10FileWriter6schemaEv"></span><span id="_CPPv2NK7parquet5arrow10FileWriter6schemaEv"></span><span id="parquet::arrow::FileWriter::schemaC"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer_1a9a7333ff8ab1442e4661efc7ccc8e541"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow6SchemaE" title="arrow::Schema"><span class="n"><span class="pre">Schema</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">schema</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK7parquet5arrow10FileWriter6schemaEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the Arrow schema to be written to. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileWriter10WriteTableERKN5arrow5TableE7int64_t">
<span id="_CPPv3N7parquet5arrow10FileWriter10WriteTableERKN5arrow5TableE7int64_t"></span><span id="_CPPv2N7parquet5arrow10FileWriter10WriteTableERKN5arrow5TableE7int64_t"></span><span id="parquet::arrow::FileWriter::WriteTable__arrow::TableCR.int64_t"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer_1ad12c6b7c3af55984656aa96d5d925d30"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteTable</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">table</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">chunk_size</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">DEFAULT_MAX_ROW_GROUP_LENGTH</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileWriter10WriteTableERKN5arrow5TableE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Write a Table to Parquet. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>table</strong> – Arrow table to write. </p></li>
<li><p><strong>chunk_size</strong> – maximum number of rows to write per row group. </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileWriter11NewRowGroupE7int64_t">
<span id="_CPPv3N7parquet5arrow10FileWriter11NewRowGroupE7int64_t"></span><span id="_CPPv2N7parquet5arrow10FileWriter11NewRowGroupE7int64_t"></span><span id="parquet::arrow::FileWriter::NewRowGroup__int64_t"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer_1aa2207ba97fafc5a4c4529e2ed9c477a7"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">NewRowGroup</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">chunk_size</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileWriter11NewRowGroupE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Start a new row group. </p>
<p>Returns an error if not all columns have been written.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>chunk_size</strong> – the number of rows in the next row group. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileWriter16WriteColumnChunkERKN5arrow5ArrayE">
<span id="_CPPv3N7parquet5arrow10FileWriter16WriteColumnChunkERKN5arrow5ArrayE"></span><span id="_CPPv2N7parquet5arrow10FileWriter16WriteColumnChunkERKN5arrow5ArrayE"></span><span id="parquet::arrow::FileWriter::WriteColumnChunk__arrow::ArrayCR"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer_1a0d9832e87312cbe60393bd8c5ea79987"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteColumnChunk</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="array.html#_CPPv4N5arrow5ArrayE" title="arrow::Array"><span class="n"><span class="pre">Array</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileWriter16WriteColumnChunkERKN5arrow5ArrayE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Write ColumnChunk in row group using an array. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileWriter16WriteColumnChunkERKNSt10shared_ptrIN5arrow12ChunkedArrayEEE7int64_t7int64_t">
<span id="_CPPv3N7parquet5arrow10FileWriter16WriteColumnChunkERKNSt10shared_ptrIN5arrow12ChunkedArrayEEE7int64_t7int64_t"></span><span id="_CPPv2N7parquet5arrow10FileWriter16WriteColumnChunkERKNSt10shared_ptrIN5arrow12ChunkedArrayEEE7int64_t7int64_t"></span><span id="parquet::arrow::FileWriter::WriteColumnChunk__std::shared_ptr:arrow::ChunkedArray:CR.int64_t.int64_t"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer_1a9088abddc91ddcd9efffbd0c32a4ed63"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteColumnChunk</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="array.html#_CPPv4N5arrow12ChunkedArrayE" title="arrow::ChunkedArray"><span class="n"><span class="pre">ChunkedArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">offset</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">size</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileWriter16WriteColumnChunkERKNSt10shared_ptrIN5arrow12ChunkedArrayEEE7int64_t7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Write ColumnChunk in row group using slice of a ChunkedArray. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileWriter16WriteColumnChunkERKNSt10shared_ptrIN5arrow12ChunkedArrayEEE">
<span id="_CPPv3N7parquet5arrow10FileWriter16WriteColumnChunkERKNSt10shared_ptrIN5arrow12ChunkedArrayEEE"></span><span id="_CPPv2N7parquet5arrow10FileWriter16WriteColumnChunkERKNSt10shared_ptrIN5arrow12ChunkedArrayEEE"></span><span id="parquet::arrow::FileWriter::WriteColumnChunk__std::shared_ptr:arrow::ChunkedArray:CR"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer_1a678875b7b3f1c8b33816b98703957051"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteColumnChunk</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="array.html#_CPPv4N5arrow12ChunkedArrayE" title="arrow::ChunkedArray"><span class="n"><span class="pre">ChunkedArray</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">data</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileWriter16WriteColumnChunkERKNSt10shared_ptrIN5arrow12ChunkedArrayEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Write ColumnChunk in a row group using a ChunkedArray. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileWriter19NewBufferedRowGroupEv">
<span id="_CPPv3N7parquet5arrow10FileWriter19NewBufferedRowGroupEv"></span><span id="_CPPv2N7parquet5arrow10FileWriter19NewBufferedRowGroupEv"></span><span id="parquet::arrow::FileWriter::NewBufferedRowGroup"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer_1a1fd782e60d0961013f3b48b9b9fced4e"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">NewBufferedRowGroup</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileWriter19NewBufferedRowGroupEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Start a new buffered row group. </p>
<p>Returns an error if not all columns have been written. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileWriter16WriteRecordBatchERKN5arrow11RecordBatchE">
<span id="_CPPv3N7parquet5arrow10FileWriter16WriteRecordBatchERKN5arrow11RecordBatchE"></span><span id="_CPPv2N7parquet5arrow10FileWriter16WriteRecordBatchERKN5arrow11RecordBatchE"></span><span id="parquet::arrow::FileWriter::WriteRecordBatch__arrow::RecordBatchCR"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer_1a415be95808d97ea64dba9d4c62d276ca"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteRecordBatch</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow11RecordBatchE" title="arrow::RecordBatch"><span class="n"><span class="pre">RecordBatch</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">batch</span></span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileWriter16WriteRecordBatchERKN5arrow11RecordBatchE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Write a RecordBatch into the buffered row group. </p>
<p>Multiple RecordBatches can be written into the same row group through this method.</p>
<p>WriterProperties.max_row_group_length() is respected and a new row group will be created if the current row group exceeds the limit.</p>
<p>Batches get flushed to the output stream once <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_writer_1a1fd782e60d0961013f3b48b9b9fced4e"><span class="std std-ref">NewBufferedRowGroup()</span></a> or <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_writer_1ad6e3df38b54b23416895e88909f421ed"><span class="std std-ref">Close()</span></a> is called.</p>
<p>WARNING: If you are writing multiple files in parallel in the same executor, deadlock may occur if <a class="reference internal" href="#classparquet_1_1_arrow_writer_properties_1a58fbd195e09dd8511b4cc3c4a64ca08e"><span class="std std-ref">ArrowWriterProperties::use_threads</span></a> is set to true to write columns in parallel. Please disable use_threads option in this case. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10FileWriter5CloseEv">
<span id="_CPPv3N7parquet5arrow10FileWriter5CloseEv"></span><span id="_CPPv2N7parquet5arrow10FileWriter5CloseEv"></span><span id="parquet::arrow::FileWriter::Close"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer_1ad6e3df38b54b23416895e88909f421ed"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4N7parquet5arrow10FileWriter5CloseEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Write the footer and close the file. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4NK7parquet5arrow10FileWriter8metadataEv">
<span id="_CPPv3NK7parquet5arrow10FileWriter8metadataEv"></span><span id="_CPPv2NK7parquet5arrow10FileWriter8metadataEv"></span><span id="parquet::arrow::FileWriter::metadataC"></span><span class="target" id="classparquet_1_1arrow_1_1_file_writer_1a1b621dd3919e60d65dc163b7e2c8580d"></span><span class="k"><span class="pre">virtual</span></span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">FileMetaData</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">metadata</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><span class="w"> </span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0</span></span><a class="headerlink" href="#_CPPv4NK7parquet5arrow10FileWriter8metadataEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the file metadata, only available after calling <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_writer_1ad6e3df38b54b23416895e88909f421ed"><span class="std std-ref">Close()</span></a>. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet5arrow10WriteTableERKN5arrow5TableEP10MemoryPoolNSt10shared_ptrIN5arrow2io12OutputStreamEEE7int64_tNSt10shared_ptrI16WriterPropertiesEENSt10shared_ptrI21ArrowWriterPropertiesEE">
<span id="_CPPv3N7parquet5arrow10WriteTableERKN5arrow5TableEP10MemoryPoolNSt10shared_ptrIN5arrow2io12OutputStreamEEE7int64_tNSt10shared_ptrI16WriterPropertiesEENSt10shared_ptrI21ArrowWriterPropertiesEE"></span><span id="_CPPv2N7parquet5arrow10WriteTableERKN5arrow5TableEP10MemoryPoolNSt10shared_ptrIN5arrow2io12OutputStreamEEE7int64_tNSt10shared_ptrI16WriterPropertiesEENSt10shared_ptrI21ArrowWriterPropertiesEE"></span><span id="parquet::arrow::WriteTable__arrow::TableCR.MemoryPoolP.std::shared_ptr:arrow::io::OutputStream:.int64_t.std::shared_ptr:WriterProperties:.std::shared_ptr:ArrowWriterProperties:"></span><span class="target" id="namespaceparquet_1_1arrow_1a10fa8439cd259fed3e869a3c8db0528a"></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-prename descclassname"><span class="n"><span class="pre">parquet</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span></span><span class="sig-name descname"><span class="n"><span class="pre">WriteTable</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">table</span></span>, <span class="n"><span class="pre">MemoryPool</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">arrow</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">sink</span></span>, <span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">chunk_size</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">DEFAULT_MAX_ROW_GROUP_LENGTH</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet16WriterPropertiesE" title="parquet::WriterProperties"><span class="n"><span class="pre">WriterProperties</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">properties</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">default_writer_properties</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span>, <span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N7parquet21ArrowWriterPropertiesE" title="parquet::ArrowWriterProperties"><span class="n"><span class="pre">ArrowWriterProperties</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">arrow_properties</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">default_arrow_writer_properties</span></span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet5arrow10WriteTableERKN5arrow5TableEP10MemoryPoolNSt10shared_ptrIN5arrow2io12OutputStreamEEE7int64_tNSt10shared_ptrI16WriterPropertiesEENSt10shared_ptrI21ArrowWriterPropertiesEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Write a Table to Parquet. </p>
<p>This writes one table in a single shot. To write a Parquet file with multiple tables iteratively, see <a class="reference internal" href="#classparquet_1_1arrow_1_1_file_writer"><span class="std std-ref">parquet::arrow::FileWriter</span></a>.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>table</strong> – Table to write. </p></li>
<li><p><strong>pool</strong> – memory pool to use. </p></li>
<li><p><strong>sink</strong> – output stream to write Parquet data. </p></li>
<li><p><strong>chunk_size</strong> – maximum number of rows to write per row group. </p></li>
<li><p><strong>properties</strong> – general Parquet writer properties. </p></li>
<li><p><strong>arrow_properties</strong> – Arrow-specific writer properties. </p></li>
</ul>
</dd>
</dl>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet12StreamWriterE">
<span id="_CPPv3N7parquet12StreamWriterE"></span><span id="_CPPv2N7parquet12StreamWriterE"></span><span id="parquet::StreamWriter"></span><span class="target" id="classparquet_1_1_stream_writer"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">StreamWriter</span></span></span><a class="headerlink" href="#_CPPv4N7parquet12StreamWriterE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>A class for writing Parquet files using an output stream type API. </p>
<p>The values given must be of the correct type i.e. the type must match the file schema exactly otherwise a <a class="reference internal" href="support.html#classparquet_1_1_parquet_exception"><span class="std std-ref">ParquetException</span></a> will be thrown.</p>
<p>The user must explicitly indicate the end of the row using the <a class="reference internal" href="#classparquet_1_1_stream_writer_1aa221a9e128e55f0e0a6d53971309b66c"><span class="std std-ref">EndRow()</span></a> function or EndRow output manipulator.</p>
<p>A maximum row group size can be configured, the default size is 512MB. Alternatively the row group size can be set to zero and the user can create new row groups by calling the <a class="reference internal" href="#classparquet_1_1_stream_writer_1aed67b735efc0e110c6efd21b64d01b47"><span class="std std-ref">EndRowGroup()</span></a> function or using the EndRowGroup output manipulator.</p>
<p>Required and optional fields are supported:<ul class="simple">
<li><p>Required fields are written using operator&lt;&lt;(T)</p></li>
<li><p>Optional fields are written using operator&lt;&lt;(std::optional&lt;T&gt;).</p></li>
</ul>
</p>
<p>Note that operator&lt;&lt;(T) can be used to write optional fields.</p>
<p>Similarly, operator&lt;&lt;(std::optional&lt;T&gt;) can be used to write required fields. However if the optional parameter does not have a value (i.e. it is nullopt) then a <a class="reference internal" href="support.html#classparquet_1_1_parquet_exception"><span class="std std-ref">ParquetException</span></a> will be raised.</p>
<p>Currently there is no support for repeated fields. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet12StreamWriterlsEb">
<span id="_CPPv3N7parquet12StreamWriterlsEb"></span><span id="_CPPv2N7parquet12StreamWriterlsEb"></span><span id="parquet::StreamWriter::lshift-operator__b"></span><span class="target" id="classparquet_1_1_stream_writer_1acff41e4a5995d054addcf18013cb85af"></span><a class="reference internal" href="#_CPPv4N7parquet12StreamWriterE" title="parquet::StreamWriter"><span class="n"><span class="pre">StreamWriter</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="k"><span class="pre">operator</span></span><span class="o"><span class="pre">&lt;&lt;</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">bool</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">v</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet12StreamWriterlsEb" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Output operators for required fields. </p>
<p>These can also be used for optional fields when a value must be set. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4I_iEN7parquet12StreamWriterlsER12StreamWriterRA1N_Kc">
<span id="_CPPv3I_iEN7parquet12StreamWriterlsERA1N_Kc"></span><span id="_CPPv2I_iEN7parquet12StreamWriterlsERAN_Kc"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">N</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classparquet_1_1_stream_writer_1ac0c3d0ee8fd393951632d76bdd6ee8f6"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet12StreamWriterE" title="parquet::StreamWriter"><span class="n"><span class="pre">StreamWriter</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="k"><span class="pre">operator</span></span><span class="o"><span class="pre">&lt;&lt;</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">v</span></span><span class="p"><span class="pre">)</span></span><span class="p"><span class="pre">[</span></span><a class="reference internal" href="#_CPPv4I_iEN7parquet12StreamWriterlsER12StreamWriterRA1N_Kc" title="parquet::StreamWriter::operator&lt;&lt;::N"><span class="n"><span class="pre">N</span></span></a><span class="p"><span class="pre">]</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4I_iEN7parquet12StreamWriterlsER12StreamWriterRA1N_Kc" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Output operators for fixed length strings. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet12StreamWriterlsEPKc">
<span id="_CPPv3N7parquet12StreamWriterlsEPKc"></span><span id="_CPPv2N7parquet12StreamWriterlsEPKc"></span><span id="parquet::StreamWriter::lshift-operator__cCP"></span><span class="target" id="classparquet_1_1_stream_writer_1a6493bc19104a2229d6f9b9495446fe2a"></span><a class="reference internal" href="#_CPPv4N7parquet12StreamWriterE" title="parquet::StreamWriter"><span class="n"><span class="pre">StreamWriter</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="k"><span class="pre">operator</span></span><span class="o"><span class="pre">&lt;&lt;</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="kt"><span class="pre">char</span></span><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">v</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet12StreamWriterlsEPKc" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Output operators for variable length strings. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4I0EN7parquet12StreamWriterlsER12StreamWriterRK8optionalI1TE">
<span id="_CPPv3I0EN7parquet12StreamWriterlsERK8optionalI1TE"></span><span id="_CPPv2I0EN7parquet12StreamWriterlsERK8optionalI1TE"></span><span class="k"><span class="pre">template</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">typename</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">T</span></span></span><span class="p"><span class="pre">&gt;</span></span><br /><span class="target" id="classparquet_1_1_stream_writer_1a42b244df5378f2b4f9d5bbd6fb27c388"></span><span class="k"><span class="pre">inline</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N7parquet12StreamWriterE" title="parquet::StreamWriter"><span class="n"><span class="pre">StreamWriter</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="sig-name descname"><span class="k"><span class="pre">operator</span></span><span class="o"><span class="pre">&lt;&lt;</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">optional</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4I0EN7parquet12StreamWriterlsER12StreamWriterRK8optionalI1TE" title="parquet::StreamWriter::operator&lt;&lt;::T"><span class="n"><span class="pre">T</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">v</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4I0EN7parquet12StreamWriterlsER12StreamWriterRK8optionalI1TE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Output operator for optional fields. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet12StreamWriter11SkipColumnsEi">
<span id="_CPPv3N7parquet12StreamWriter11SkipColumnsEi"></span><span id="_CPPv2N7parquet12StreamWriter11SkipColumnsEi"></span><span id="parquet::StreamWriter::SkipColumns__i"></span><span class="target" id="classparquet_1_1_stream_writer_1a114e27b01243f89388da4147d420f360"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">SkipColumns</span></span></span><span class="sig-paren">(</span><span class="kt"><span class="pre">int</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">num_columns_to_skip</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet12StreamWriter11SkipColumnsEi" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Skip the next N columns of optional data. </p>
<p>If there are less than N columns remaining then the excess columns are ignored. </p>
<dl class="field-list simple">
<dt class="field-odd">Throws<span class="colon">:</span></dt>
<dd class="field-odd"><p><span><span class="cpp-expr sig sig-inline cpp"><a class="reference internal" href="support.html#_CPPv4N7parquet16ParquetExceptionE" title="parquet::ParquetException"><span class="n">ParquetException</span></a></span></span> – if there is an attempt to skip any required column. </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>Number of columns actually skipped. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet12StreamWriter6EndRowEv">
<span id="_CPPv3N7parquet12StreamWriter6EndRowEv"></span><span id="_CPPv2N7parquet12StreamWriter6EndRowEv"></span><span id="parquet::StreamWriter::EndRow"></span><span class="target" id="classparquet_1_1_stream_writer_1aa221a9e128e55f0e0a6d53971309b66c"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">EndRow</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet12StreamWriter6EndRowEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Terminate the current row and advance to next one. </p>
<dl class="field-list simple">
<dt class="field-odd">Throws<span class="colon">:</span></dt>
<dd class="field-odd"><p><span><span class="cpp-expr sig sig-inline cpp"><a class="reference internal" href="support.html#_CPPv4N7parquet16ParquetExceptionE" title="parquet::ParquetException"><span class="n">ParquetException</span></a></span></span> – if all columns in the row were not written or skipped. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet12StreamWriter11EndRowGroupEv">
<span id="_CPPv3N7parquet12StreamWriter11EndRowGroupEv"></span><span id="_CPPv2N7parquet12StreamWriter11EndRowGroupEv"></span><span id="parquet::StreamWriter::EndRowGroup"></span><span class="target" id="classparquet_1_1_stream_writer_1aed67b735efc0e110c6efd21b64d01b47"></span><span class="kt"><span class="pre">void</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">EndRowGroup</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N7parquet12StreamWriter11EndRowGroupEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Terminate the current row group and create new one. </p>
</dd></dl>
</div>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N7parquet12StreamWriter15FixedStringViewE">
<span id="_CPPv3N7parquet12StreamWriter15FixedStringViewE"></span><span id="_CPPv2N7parquet12StreamWriter15FixedStringViewE"></span><span id="parquet::StreamWriter::FixedStringView"></span><span class="target" id="structparquet_1_1_stream_writer_1_1_fixed_string_view"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">FixedStringView</span></span></span><a class="headerlink" href="#_CPPv4N7parquet12StreamWriter15FixedStringViewE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Helper class to write fixed length strings. </p>
<p>This is useful as the standard string view (such as std::string_view) is for variable length data. </p>
</dd></dl>
</dd></dl>
</section>
<section id="orc">
<span id="cpp-api-orc"></span><h2>ORC<a class="headerlink" href="#orc" title="Permalink to this heading">#</a></h2>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReaderE">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReaderE"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReaderE"></span><span id="arrow::adapters::orc::ORCFileReader"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ORCFileReader</span></span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReaderE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read an Arrow <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a> or <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a> from an ORC file. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader10ReadSchemaEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader10ReadSchemaEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader10ReadSchemaEv"></span><span id="arrow::adapters::orc::ORCFileReader::ReadSchema"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a105f2822a76cce351992cc143b4ca8dd"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow6SchemaE" title="arrow::Schema"><span class="n"><span class="pre">Schema</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadSchema</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader10ReadSchemaEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the schema read from the ORC file. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the returned <a class="reference internal" href="datatype.html#classarrow_1_1_schema"><span class="std std-ref">Schema</span></a> object </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader4ReadEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader4ReadEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader4ReadEv"></span><span id="arrow::adapters::orc::ORCFileReader::Read"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a423021a5492293074744c549728a9d4f"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader4ReadEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read the file as a <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a>. </p>
<p>The table will be composed of one record batch per stripe.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the returned <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader4ReadERKNSt10shared_ptrI6SchemaEE">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader4ReadERKNSt10shared_ptrI6SchemaEE"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader4ReadERKNSt10shared_ptrI6SchemaEE"></span><span id="arrow::adapters::orc::ORCFileReader::Read__std::shared_ptr:Schema:CR"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a985737393ba2ef65bf66d8b5cb39fd20"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow6SchemaE" title="arrow::Schema"><span class="n"><span class="pre">Schema</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">schema</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader4ReadERKNSt10shared_ptrI6SchemaEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read the file as a <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a>. </p>
<p>The table will be composed of one record batch per stripe.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>schema</strong><strong>[in]</strong> the <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a> schema </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the returned <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader4ReadERKNSt6vectorIiEE">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader4ReadERKNSt6vectorIiEE"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader4ReadERKNSt6vectorIiEE"></span><span id="arrow::adapters::orc::ORCFileReader::Read__std::vector:i:CR"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a756a084e2adf5ce960ec7749a21dc0f4"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">include_indices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader4ReadERKNSt6vectorIiEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read the file as a <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a>. </p>
<p>The table will be composed of one record batch per stripe.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>include_indices</strong><strong>[in]</strong> the selected field indices to read </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the returned <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader4ReadERKNSt6vectorINSt6stringEEE">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader4ReadERKNSt6vectorINSt6stringEEE"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader4ReadERKNSt6vectorINSt6stringEEE"></span><span id="arrow::adapters::orc::ORCFileReader::Read__std::vector:ss:CR"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a0dfbc9167ca061d2eeaa0552ef1c8915"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">include_names</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader4ReadERKNSt6vectorINSt6stringEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read the file as a <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a>. </p>
<p>The table will be composed of one record batch per stripe.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>include_names</strong><strong>[in]</strong> the selected field names to read </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the returned <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader4ReadERKNSt10shared_ptrI6SchemaEERKNSt6vectorIiEE">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader4ReadERKNSt10shared_ptrI6SchemaEERKNSt6vectorIiEE"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader4ReadERKNSt10shared_ptrI6SchemaEERKNSt6vectorIiEE"></span><span id="arrow::adapters::orc::ORCFileReader::Read__std::shared_ptr:Schema:CR.std::vector:i:CR"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1ad88a1b42a826035444af85f193950854"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Read</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="datatype.html#_CPPv4N5arrow6SchemaE" title="arrow::Schema"><span class="n"><span class="pre">Schema</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">schema</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">include_indices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader4ReadERKNSt10shared_ptrI6SchemaEERKNSt6vectorIiEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read the file as a <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a>. </p>
<p>The table will be composed of one record batch per stripe.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>schema</strong><strong>[in]</strong> the <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a> schema </p></li>
<li><p><strong>include_indices</strong><strong>[in]</strong> the selected field indices to read </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the returned <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_t">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_t"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_t"></span><span id="arrow::adapters::orc::ORCFileReader::ReadStripe__int64_t"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1aa3218ff6be57f215e021d5a2a5ab1f2d"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow11RecordBatchE" title="arrow::RecordBatch"><span class="n"><span class="pre">RecordBatch</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadStripe</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">stripe</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read a single stripe as a <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a>. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>stripe</strong><strong>[in]</strong> the stripe index </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the returned <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_tRKNSt6vectorIiEE">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_tRKNSt6vectorIiEE"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_tRKNSt6vectorIiEE"></span><span id="arrow::adapters::orc::ORCFileReader::ReadStripe__int64_t.std::vector:i:CR"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a6663aa4be5f7e12c494ce5c38620e90a"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow11RecordBatchE" title="arrow::RecordBatch"><span class="n"><span class="pre">RecordBatch</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadStripe</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">stripe</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">include_indices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_tRKNSt6vectorIiEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read a single stripe as a <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a>. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>stripe</strong><strong>[in]</strong> the stripe index </p></li>
<li><p><strong>include_indices</strong><strong>[in]</strong> the selected field indices to read </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the returned <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_tRKNSt6vectorINSt6stringEEE">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_tRKNSt6vectorINSt6stringEEE"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_tRKNSt6vectorINSt6stringEEE"></span><span id="arrow::adapters::orc::ORCFileReader::ReadStripe__int64_t.std::vector:ss:CR"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a540da1f3e92805436f8ea6e315cfed62"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow11RecordBatchE" title="arrow::RecordBatch"><span class="n"><span class="pre">RecordBatch</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadStripe</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">stripe</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">include_names</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader10ReadStripeE7int64_tRKNSt6vectorINSt6stringEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Read a single stripe as a <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a>. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>stripe</strong><strong>[in]</strong> the stripe index </p></li>
<li><p><strong>include_names</strong><strong>[in]</strong> the selected field names to read </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the returned <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader4SeekE7int64_t">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader4SeekE7int64_t"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader4SeekE7int64_t"></span><span id="arrow::adapters::orc::ORCFileReader::Seek__int64_t"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1ad5649aa6eca9bb1d532492b42db65aa1"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Seek</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">row_number</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader4SeekE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Seek to designated row. </p>
<p>Invoke <a class="reference internal" href="#classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1aaf83af3bf32ec838df9c27304305d6c9"><span class="std std-ref">NextStripeReader()</span></a> after seek will return stripe reader starting from designated row.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>row_number</strong><strong>[in]</strong> the rows number to seek </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader16NextStripeReaderE7int64_t">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader16NextStripeReaderE7int64_t"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader16NextStripeReaderE7int64_t"></span><span id="arrow::adapters::orc::ORCFileReader::NextStripeReader__int64_t"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1aaf83af3bf32ec838df9c27304305d6c9"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow17RecordBatchReaderE" title="arrow::RecordBatchReader"><span class="n"><span class="pre">RecordBatchReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">NextStripeReader</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">batch_size</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader16NextStripeReaderE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get a stripe level record batch iterator. </p>
<p>Each record batch will have up to <code class="docutils literal notranslate"><span class="pre">batch_size</span></code> rows. NextStripeReader serves as a fine-grained alternative to ReadStripe which may cause OOM issues by loading the whole stripe into memory.</p>
<p>Note this will only read rows for the current stripe, not the entire file.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>batch_size</strong><strong>[in]</strong> the maximum number of rows in each record batch </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the returned stripe reader </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader16NextStripeReaderE7int64_tRKNSt6vectorIiEE">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader16NextStripeReaderE7int64_tRKNSt6vectorIiEE"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader16NextStripeReaderE7int64_tRKNSt6vectorIiEE"></span><span id="arrow::adapters::orc::ORCFileReader::NextStripeReader__int64_t.std::vector:i:CR"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a1af8624afc28e5efa783ed8f64bafe2e"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow17RecordBatchReaderE" title="arrow::RecordBatchReader"><span class="n"><span class="pre">RecordBatchReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">NextStripeReader</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">batch_size</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="kt"><span class="pre">int</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">include_indices</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader16NextStripeReaderE7int64_tRKNSt6vectorIiEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get a stripe level record batch iterator. </p>
<p>Each record batch will have up to <code class="docutils literal notranslate"><span class="pre">batch_size</span></code> rows. NextStripeReader serves as a fine-grained alternative to ReadStripe which may cause OOM issues by loading the whole stripe into memory.</p>
<p>Note this will only read rows for the current stripe, not the entire file.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>batch_size</strong><strong>[in]</strong> the maximum number of rows in each record batch </p></li>
<li><p><strong>include_indices</strong><strong>[in]</strong> the selected field indices to read </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the stripe reader </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader20GetRecordBatchReaderE7int64_tRKNSt6vectorINSt6stringEEE">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader20GetRecordBatchReaderE7int64_tRKNSt6vectorINSt6stringEEE"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader20GetRecordBatchReaderE7int64_tRKNSt6vectorINSt6stringEEE"></span><span id="arrow::adapters::orc::ORCFileReader::GetRecordBatchReader__int64_t.std::vector:ss:CR"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a466ce494144fe49fc5cda67ceead388c"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="table.html#_CPPv4N5arrow17RecordBatchReaderE" title="arrow::RecordBatchReader"><span class="n"><span class="pre">RecordBatchReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetRecordBatchReader</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">batch_size</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">include_names</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader20GetRecordBatchReaderE7int64_tRKNSt6vectorINSt6stringEEE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get a record batch iterator for the entire file. </p>
<p>Each record batch will have up to <code class="docutils literal notranslate"><span class="pre">batch_size</span></code> rows.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>batch_size</strong><strong>[in]</strong> the maximum number of rows in each record batch </p></li>
<li><p><strong>include_names</strong><strong>[in]</strong> the selected field names to read, if not empty (otherwise all fields are read) </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the record batch iterator </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader15NumberOfStripesEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader15NumberOfStripesEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader15NumberOfStripesEv"></span><span id="arrow::adapters::orc::ORCFileReader::NumberOfStripes"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1ab04c36ed4e787213ff4011ff93c97220"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">NumberOfStripes</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader15NumberOfStripesEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The number of stripes in the file. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader12NumberOfRowsEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader12NumberOfRowsEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader12NumberOfRowsEv"></span><span id="arrow::adapters::orc::ORCFileReader::NumberOfRows"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a89e8d5ccbce912415e978c45931fc5b5"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">NumberOfRows</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader12NumberOfRowsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The number of rows in the file. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader20GetStripeInformationE7int64_t">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader20GetStripeInformationE7int64_t"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader20GetStripeInformationE7int64_t"></span><span id="arrow::adapters::orc::ORCFileReader::GetStripeInformation__int64_t"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a3fff88dd7be2e9e43c1a629cfcb18600"></span><span class="n"><span class="pre">StripeInformation</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetStripeInformation</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="n sig-param"><span class="pre">stripe</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader20GetStripeInformationE7int64_t" title="Permalink to this definition">#</a><br /></dt>
<dd><p>StripeInformation for each stripe. </p>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader14GetFileVersionEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader14GetFileVersionEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader14GetFileVersionEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetFileVersion"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a5acbeb527a9ddb104dad83dc6e05f092"></span><span class="n"><span class="pre">FileVersion</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetFileVersion</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader14GetFileVersionEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the format version of the file. </p>
<p>Currently known values are 0.11 and 0.12.</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>The FileVersion of the ORC file. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader18GetSoftwareVersionEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader18GetSoftwareVersionEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader18GetSoftwareVersionEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetSoftwareVersion"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a3ba5278402cfbfdf070e4bacd848f4d4"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetSoftwareVersion</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader18GetSoftwareVersionEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the software instance and version that wrote this file. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>a user-facing string that specifies the software version </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader14GetCompressionEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader14GetCompressionEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader14GetCompressionEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetCompression"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1af653bcf31a0c6b4464fd161d36638c19"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">Compression</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="utilities.html#_CPPv4N5arrow11Compression4typeE" title="arrow::Compression::type"><span class="n"><span class="pre">type</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetCompression</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader14GetCompressionEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the compression kind of the file. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>The kind of compression in the ORC file. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader18GetCompressionSizeEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader18GetCompressionSizeEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader18GetCompressionSizeEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetCompressionSize"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1ad8dc9e643b0f63db0f8034e0c7b3571c"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetCompressionSize</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader18GetCompressionSizeEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the buffer size for the compression. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>Number of bytes to buffer for the compression codec. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader17GetRowIndexStrideEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader17GetRowIndexStrideEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader17GetRowIndexStrideEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetRowIndexStride"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1aea246152f64a8d2d2213bc1891f8a4f6"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetRowIndexStride</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader17GetRowIndexStrideEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the number of rows per an entry in the row index. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the number of rows per an entry in the row index or 0 if there is no row index. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader11GetWriterIdEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader11GetWriterIdEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader11GetWriterIdEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetWriterId"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a9ffbbbc92b0a6124481b20667fa53162"></span><span class="n"><span class="pre">WriterId</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetWriterId</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader11GetWriterIdEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get ID of writer that generated the file. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>UNKNOWN_WRITER if the writer ID is undefined </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader16GetWriterIdValueEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader16GetWriterIdValueEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader16GetWriterIdValueEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetWriterIdValue"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1abd05e0b7fad0f4edceb43c4d8ad76d40"></span><span class="n"><span class="pre">int32_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetWriterIdValue</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader16GetWriterIdValueEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the writer id value when getWriterId() returns an unknown writer. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the integer value of the writer ID. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader16GetWriterVersionEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader16GetWriterVersionEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader16GetWriterVersionEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetWriterVersion"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a4459171bed0fa18bc45d9ea12053abb9"></span><span class="n"><span class="pre">WriterVersion</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetWriterVersion</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader16GetWriterVersionEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the version of the writer. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the version of the writer. </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader27GetNumberOfStripeStatisticsEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader27GetNumberOfStripeStatisticsEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader27GetNumberOfStripeStatisticsEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetNumberOfStripeStatistics"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a32454a7fca17c98fc4bf5f1699b043ec"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetNumberOfStripeStatistics</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader27GetNumberOfStripeStatisticsEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the number of stripe statistics in the file. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the number of stripe statistics </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader16GetContentLengthEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader16GetContentLengthEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader16GetContentLengthEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetContentLength"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1add413a1938603180cf551b142a5048af"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetContentLength</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader16GetContentLengthEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the length of the data stripes in the file. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>return the number of bytes in stripes </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader25GetStripeStatisticsLengthEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader25GetStripeStatisticsLengthEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader25GetStripeStatisticsLengthEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetStripeStatisticsLength"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1ada4ca5cddff92e371370fa8d62e5a73a"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetStripeStatisticsLength</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader25GetStripeStatisticsLengthEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the length of the file stripe statistics. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the number of compressed bytes in the file stripe statistics </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader19GetFileFooterLengthEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader19GetFileFooterLengthEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader19GetFileFooterLengthEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetFileFooterLength"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1ae55719d0cb5d7b9d253971966554e164"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetFileFooterLength</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader19GetFileFooterLengthEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the length of the file footer. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the number of compressed bytes in the file footer </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader23GetFilePostscriptLengthEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader23GetFilePostscriptLengthEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader23GetFilePostscriptLengthEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetFilePostscriptLength"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a2737aa2dc968a298607840a7664b58e5"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetFilePostscriptLength</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader23GetFilePostscriptLengthEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the length of the file postscript. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the number of bytes in the file postscript </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader13GetFileLengthEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader13GetFileLengthEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader13GetFileLengthEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetFileLength"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1aec43defb34429377b7aca4fefa3e11cc"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetFileLength</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader13GetFileLengthEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the total length of the file. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>the number of bytes in the file </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader21GetSerializedFileTailEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader21GetSerializedFileTailEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader21GetSerializedFileTailEv"></span><span id="arrow::adapters::orc::ORCFileReader::GetSerializedFileTail"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1a276f0db498ed7948160c598a2432ac0d"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">string</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">GetSerializedFileTail</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader21GetSerializedFileTailEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Get the serialized file tail. </p>
<p>Useful if another reader of the same file wants to avoid re-reading the file tail. See ReadOptions.SetSerializedFileTail().</p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>a string of bytes with the file tail </p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader12ReadMetadataEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader12ReadMetadataEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader12ReadMetadataEv"></span><span id="arrow::adapters::orc::ORCFileReader::ReadMetadata"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1ac9b58928cb8fdf9be954b806dd669f61"></span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="datatype.html#_CPPv4N5arrow16KeyValueMetadataE" title="arrow::KeyValueMetadata"><span class="n"><span class="pre">KeyValueMetadata</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ReadMetadata</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader12ReadMetadataEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Return the metadata read from the ORC file. </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p>A <a class="reference internal" href="datatype.html#classarrow_1_1_key_value_metadata"><span class="std std-ref">KeyValueMetadata</span></a> object containing the ORC metadata </p>
</dd>
</dl>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEEP10MemoryPool">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEEP10MemoryPool"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEEP10MemoryPool"></span><span id="arrow::adapters::orc::ORCFileReader::Open__std::shared_ptr:io::RandomAccessFile:CR.MemoryPoolP"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_reader_1add6373e13fdd51ae6664be30aa1b25b1"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow8adapters3orc13ORCFileReaderE" title="arrow::adapters::orc::ORCFileReader"><span class="n"><span class="pre">ORCFileReader</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">shared_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io16RandomAccessFileE" title="arrow::io::RandomAccessFile"><span class="n"><span class="pre">RandomAccessFile</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">file</span></span>, <a class="reference internal" href="memory.html#_CPPv4N5arrow10MemoryPoolE" title="arrow::MemoryPool"><span class="n"><span class="pre">MemoryPool</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">pool</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileReader4OpenERKNSt10shared_ptrIN2io16RandomAccessFileEEEP10MemoryPool" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Creates a new ORC reader. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>file</strong><strong>[in]</strong> the data source </p></li>
<li><p><strong>pool</strong><strong>[in]</strong> a <a class="reference internal" href="memory.html#classarrow_1_1_memory_pool"><span class="std std-ref">MemoryPool</span></a> to use for buffer allocations </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the returned reader object </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp struct">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptionsE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptionsE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptionsE"></span><span id="arrow::adapters::orc::WriteOptions"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options"></span><span class="k"><span class="pre">struct</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">WriteOptions</span></span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptionsE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Options for the ORC Writer. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-members">Public Members</p>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptions10batch_sizeE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptions10batch_sizeE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptions10batch_sizeE"></span><span id="arrow::adapters::orc::WriteOptions::batch_size__int64_t"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options_1a7e9c5a3ef91a22c8ae9069bd21775f5a"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">batch_size</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">1024</span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptions10batch_sizeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Number of rows the ORC writer writes at a time, default 1024. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptions12file_versionE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptions12file_versionE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptions12file_versionE"></span><span id="arrow::adapters::orc::WriteOptions::file_version__FileVersion"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options_1a9553bebeaefd9ba3f6ceadc909cfec79"></span><span class="n"><span class="pre">FileVersion</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">file_version</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">FileVersion</span></span><span class="p"><span class="pre">(</span></span><span class="m"><span class="pre">0</span></span><span class="p"><span class="pre">,</span></span><span class="w"> </span><span class="m"><span class="pre">12</span></span><span class="p"><span class="pre">)</span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptions12file_versionE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Which ORC file version to use, default FileVersion(0, 12) </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptions11stripe_sizeE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptions11stripe_sizeE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptions11stripe_sizeE"></span><span id="arrow::adapters::orc::WriteOptions::stripe_size__int64_t"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options_1aa1011b354754fae521d7a256a3548344"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">stripe_size</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">64</span></span><span class="w"> </span><span class="o"><span class="pre">*</span></span><span class="w"> </span><span class="m"><span class="pre">1024</span></span><span class="w"> </span><span class="o"><span class="pre">*</span></span><span class="w"> </span><span class="m"><span class="pre">1024</span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptions11stripe_sizeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Size of each ORC stripe in bytes, default 64 MiB. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptions11compressionE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptions11compressionE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptions11compressionE"></span><span id="arrow::adapters::orc::WriteOptions::compression__Compression::type"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options_1ac34afa275d60b7e4b68289602f845343"></span><span class="n"><span class="pre">Compression</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="utilities.html#_CPPv4N5arrow11Compression4typeE" title="arrow::Compression::type"><span class="n"><span class="pre">type</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">compression</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">Compression</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="utilities.html#_CPPv4N5arrow11Compression4type12UNCOMPRESSEDE" title="arrow::Compression::UNCOMPRESSED"><span class="n"><span class="pre">UNCOMPRESSED</span></span></a><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptions11compressionE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The compression codec of the ORC file, there is no compression by default. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptions22compression_block_sizeE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptions22compression_block_sizeE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptions22compression_block_sizeE"></span><span id="arrow::adapters::orc::WriteOptions::compression_block_size__int64_t"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options_1a516dd2177b05a50abc21af788106055b"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">compression_block_size</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">64</span></span><span class="w"> </span><span class="o"><span class="pre">*</span></span><span class="w"> </span><span class="m"><span class="pre">1024</span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptions22compression_block_sizeE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The size of each compression block in bytes, default 64 KiB. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptions20compression_strategyE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptions20compression_strategyE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptions20compression_strategyE"></span><span id="arrow::adapters::orc::WriteOptions::compression_strategy__CompressionStrategy"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options_1a1a8fa0466a45186b8ba4b4b044a37727"></span><span class="n"><span class="pre">CompressionStrategy</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">compression_strategy</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="n"><span class="pre">CompressionStrategy</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">kSpeed</span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptions20compression_strategyE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The compression strategy i.e. </p>
<p>speed vs size reduction, default CompressionStrategy::kSpeed</p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptions16row_index_strideE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptions16row_index_strideE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptions16row_index_strideE"></span><span id="arrow::adapters::orc::WriteOptions::row_index_stride__int64_t"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options_1adc8a62b7a54bc8cd9d89a7667801bf7e"></span><span class="n"><span class="pre">int64_t</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">row_index_stride</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">10000</span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptions16row_index_strideE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The number of rows per an entry in the row index, default 10000. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptions17padding_toleranceE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptions17padding_toleranceE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptions17padding_toleranceE"></span><span id="arrow::adapters::orc::WriteOptions::padding_tolerance__double"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options_1a63b3a2693322a907edf3a50e8f6a462d"></span><span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">padding_tolerance</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0.0</span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptions17padding_toleranceE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The padding tolerance, default 0.0. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptions29dictionary_key_size_thresholdE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptions29dictionary_key_size_thresholdE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptions29dictionary_key_size_thresholdE"></span><span id="arrow::adapters::orc::WriteOptions::dictionary_key_size_threshold__double"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options_1a7e17553c887e7357834a4abaedb200e4"></span><span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">dictionary_key_size_threshold</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0.0</span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptions29dictionary_key_size_thresholdE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The dictionary key size threshold. </p>
<p>0 to disable dictionary encoding. 1 to always enable dictionary encoding, default 0.0 </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptions20bloom_filter_columnsE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptions20bloom_filter_columnsE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptions20bloom_filter_columnsE"></span><span id="arrow::adapters::orc::WriteOptions::bloom_filter_columns__std::vector:int64_t:"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options_1a89f6ffd405356a192911c5fb8e551f6b"></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">vector</span></span><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">int64_t</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">bloom_filter_columns</span></span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptions20bloom_filter_columnsE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The array of columns that use the bloom filter, default empty. </p>
</dd></dl>
<dl class="cpp var">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc12WriteOptions16bloom_filter_fppE">
<span id="_CPPv3N5arrow8adapters3orc12WriteOptions16bloom_filter_fppE"></span><span id="_CPPv2N5arrow8adapters3orc12WriteOptions16bloom_filter_fppE"></span><span id="arrow::adapters::orc::WriteOptions::bloom_filter_fpp__double"></span><span class="target" id="structarrow_1_1adapters_1_1orc_1_1_write_options_1af299497383ddd7d1c94e028a1e6b0534"></span><span class="kt"><span class="pre">double</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">bloom_filter_fpp</span></span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><span class="m"><span class="pre">0.05</span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc12WriteOptions16bloom_filter_fppE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>The upper limit of the false-positive rate of the bloom filter, default 0.05. </p>
</dd></dl>
</div>
</dd></dl>
<dl class="cpp class">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileWriterE">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileWriterE"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileWriterE"></span><span id="arrow::adapters::orc::ORCFileWriter"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_writer"></span><span class="k"><span class="pre">class</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">ORCFileWriter</span></span></span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileWriterE" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Write an Arrow <a class="reference internal" href="table.html#classarrow_1_1_table"><span class="std std-ref">Table</span></a> or <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a> to an ORC file. </p>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-functions">Public Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileWriter5WriteERK5Table">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileWriter5WriteERK5Table"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileWriter5WriteERK5Table"></span><span id="arrow::adapters::orc::ORCFileWriter::Write__TableCR"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_writer_1a3084df37ec58bf054014d43a616c3ab3"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><span class="n"><span class="pre">Table</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">table</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileWriter5WriteERK5Table" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Write a table. </p>
<p>This can be called multiple times.</p>
<p>Tables passed in subsequent calls must match the schema of the table that was written first.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>table</strong><strong>[in]</strong> the Arrow table from which data is extracted. </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileWriter5WriteERK11RecordBatch">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileWriter5WriteERK11RecordBatch"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileWriter5WriteERK11RecordBatch"></span><span id="arrow::adapters::orc::ORCFileWriter::Write__RecordBatchCR"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_writer_1ada2828fa3bbdd50553956e2866c7952f"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Write</span></span></span><span class="sig-paren">(</span><span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="table.html#_CPPv4N5arrow11RecordBatchE" title="arrow::RecordBatch"><span class="n"><span class="pre">RecordBatch</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">record_batch</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileWriter5WriteERK11RecordBatch" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Write a <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a>. </p>
<p>This can be called multiple times.</p>
<p>RecordBatches passed in subsequent calls must match the schema of the <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a> that was written first.</p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><p><strong>record_batch</strong><strong>[in]</strong> the Arrow <a class="reference internal" href="table.html#classarrow_1_1_record_batch"><span class="std std-ref">RecordBatch</span></a> from which data is extracted. </p>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileWriter5CloseEv">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileWriter5CloseEv"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileWriter5CloseEv"></span><span id="arrow::adapters::orc::ORCFileWriter::Close"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_writer_1ad92cfde53c5875363b560557ea11d0f3"></span><a class="reference internal" href="support.html#_CPPv4N5arrow6StatusE" title="arrow::Status"><span class="n"><span class="pre">Status</span></span></a><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Close</span></span></span><span class="sig-paren">(</span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileWriter5CloseEv" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Close an ORC writer (orc::Writer) </p>
<dl class="field-list simple">
<dt class="field-odd">Returns<span class="colon">:</span></dt>
<dd class="field-odd"><p><a class="reference internal" href="support.html#classarrow_1_1_status"><span class="std std-ref">Status</span></a></p>
</dd>
</dl>
</dd></dl>
</div>
<div class="breathe-sectiondef docutils container">
<p class="breathe-sectiondef-title rubric" id="breathe-section-title-public-static-functions">Public Static Functions</p>
<dl class="cpp function">
<dt class="sig sig-object cpp" id="_CPPv4N5arrow8adapters3orc13ORCFileWriter4OpenEPN2io12OutputStreamERK12WriteOptions">
<span id="_CPPv3N5arrow8adapters3orc13ORCFileWriter4OpenEPN2io12OutputStreamERK12WriteOptions"></span><span id="_CPPv2N5arrow8adapters3orc13ORCFileWriter4OpenEPN2io12OutputStreamERK12WriteOptions"></span><span id="arrow::adapters::orc::ORCFileWriter::Open__io::OutputStreamP.WriteOptionsCR"></span><span class="target" id="classarrow_1_1adapters_1_1orc_1_1_o_r_c_file_writer_1a346f95488d50ef08d6a2de7146ee9646"></span><span class="k"><span class="pre">static</span></span><span class="w"> </span><a class="reference internal" href="support.html#_CPPv4I0EN5arrow6ResultE" title="arrow::Result"><span class="n"><span class="pre">Result</span></span></a><span class="p"><span class="pre">&lt;</span></span><span class="n"><span class="pre">std</span></span><span class="p"><span class="pre">::</span></span><span class="n"><span class="pre">unique_ptr</span></span><span class="p"><span class="pre">&lt;</span></span><a class="reference internal" href="#_CPPv4N5arrow8adapters3orc13ORCFileWriterE" title="arrow::adapters::orc::ORCFileWriter"><span class="n"><span class="pre">ORCFileWriter</span></span></a><span class="p"><span class="pre">&gt;</span></span><span class="p"><span class="pre">&gt;</span></span><span class="w"> </span><span class="sig-name descname"><span class="n"><span class="pre">Open</span></span></span><span class="sig-paren">(</span><span class="n"><span class="pre">io</span></span><span class="p"><span class="pre">::</span></span><a class="reference internal" href="io.html#_CPPv4N5arrow2io12OutputStreamE" title="arrow::io::OutputStream"><span class="n"><span class="pre">OutputStream</span></span></a><span class="w"> </span><span class="p"><span class="pre">*</span></span><span class="n sig-param"><span class="pre">output_stream</span></span>, <span class="k"><span class="pre">const</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow8adapters3orc12WriteOptionsE" title="arrow::adapters::orc::WriteOptions"><span class="n"><span class="pre">WriteOptions</span></span></a><span class="w"> </span><span class="p"><span class="pre">&amp;</span></span><span class="n sig-param"><span class="pre">write_options</span></span><span class="w"> </span><span class="p"><span class="pre">=</span></span><span class="w"> </span><a class="reference internal" href="#_CPPv4N5arrow8adapters3orc12WriteOptionsE" title="arrow::adapters::orc::WriteOptions"><span class="n"><span class="pre">WriteOptions</span></span></a><span class="p"><span class="pre">(</span></span><span class="p"><span class="pre">)</span></span><span class="sig-paren">)</span><a class="headerlink" href="#_CPPv4N5arrow8adapters3orc13ORCFileWriter4OpenEPN2io12OutputStreamERK12WriteOptions" title="Permalink to this definition">#</a><br /></dt>
<dd><p>Creates a new ORC writer. </p>
<dl class="field-list simple">
<dt class="field-odd">Parameters<span class="colon">:</span></dt>
<dd class="field-odd"><ul class="simple">
<li><p><strong>output_stream</strong><strong>[in]</strong> a pointer to the <a class="reference internal" href="io.html#classarrow_1_1io_1_1_output_stream"><span class="std std-ref">io::OutputStream</span></a> to write into </p></li>
<li><p><strong>write_options</strong><strong>[in]</strong> the ORC writer options for Arrow </p></li>
</ul>
</dd>
<dt class="field-even">Returns<span class="colon">:</span></dt>
<dd class="field-even"><p>the returned writer object </p>
</dd>
</dl>
</dd></dl>
</div>
</dd></dl>
</section>
</section>
</article>
<footer class="prev-next-footer">
<div class="prev-next-area">
<a class="left-prev"
href="ipc.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">Arrow IPC</p>
</div>
</a>
<a class="right-next"
href="cuda.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">CUDA support</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
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="#csv-reader">CSV reader</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#csv-writer">CSV writer</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#line-separated-json">Line-separated JSON</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#parquet-reader">Parquet reader</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#parquet-writer">Parquet writer</a></li>
<li class="toc-h2 nav-item toc-entry"><a class="reference internal nav-link" href="#orc">ORC</a></li>
</ul>
</nav></div>
<div class="sidebar-secondary-item">
<div class="tocsection editthispage">
<a href="https://github.com/apache/arrow/edit/main/docs/source/cpp/api/formats.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>