| |
| <!DOCTYPE html> |
| |
| <html lang="en"> |
| <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>Row to columnar conversion — Apache Arrow v13.0.0</title> |
| |
| <link href="../../_static/styles/theme.css?digest=1999514e3f237ded88cf" rel="stylesheet"> |
| <link href="../../_static/styles/pydata-sphinx-theme.css?digest=1999514e3f237ded88cf" rel="stylesheet"> |
| |
| |
| <link rel="stylesheet" |
| href="../../_static/vendor/fontawesome/5.13.0/css/all.min.css"> |
| <link rel="preload" as="font" type="font/woff2" crossorigin |
| href="../../_static/vendor/fontawesome/5.13.0/webfonts/fa-solid-900.woff2"> |
| <link rel="preload" as="font" type="font/woff2" crossorigin |
| href="../../_static/vendor/fontawesome/5.13.0/webfonts/fa-brands-400.woff2"> |
| |
| |
| |
| |
| |
| <link rel="stylesheet" type="text/css" href="../../_static/pygments.css" /> |
| <link rel="stylesheet" type="text/css" href="../../_static/styles/pydata-sphinx-theme.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" /> |
| |
| <link rel="preload" as="script" href="../../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"> |
| |
| <script src="../../_static/jquery.js"></script> |
| <script src="../../_static/_sphinx_javascript_frameworks_compat.js"></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> |
| <link rel="canonical" href="https://arrow.apache.org/docs/cpp/examples/row_columnar_conversion.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="Conversion of range of std::tuple-like to Table instances" href="tuple_range_conversion.html" /> |
| <link rel="prev" title="Arrow Skyhook example" href="dataset_skyhook_scan_example.html" /> |
| |
| <meta name="viewport" content="width=device-width, initial-scale=1" /> |
| <meta name="docsearch:language" content="en"> |
| |
| |
| <!-- Google Analytics --> |
| |
| |
| <!-- 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-spy="scroll" data-target="#bd-toc-nav" data-offset="80"> |
| |
| <div class="container-fluid" id="banner"></div> |
| |
| |
| |
| |
| <div class="container-xl"> |
| <div class="row"> |
| |
| |
| <!-- Only show if we have sidebars configured, else just a small margin --> |
| <div class="col-12 col-md-3 bd-sidebar"> |
| <div class="sidebar-start-items"> |
| <a class="navbar-brand" href="../../index.html"> |
| <img src="../../_static/arrow.png" class="logo" alt="logo"> |
| </a> |
| |
| <div id="version-search-wrapper"> |
| |
| <div id="version-button" class="dropdown"> |
| <button type="button" class="btn btn-secondary btn-sm navbar-btn dropdown-toggle" id="version_switcher_button" data-toggle="dropdown"> |
| 13.0.0 |
| <span class="caret"></span> |
| </button> |
| <div id="version_switcher" class="dropdown-menu list-group-flush py-0" aria-labelledby="version_switcher_button"> |
| <!-- dropdown will be populated by javascript on page load --> |
| </div> |
| </div> |
| |
| <script type="text/javascript"> |
| // Function to construct the target URL from the JSON components |
| function buildURL(entry) { |
| var template = "https://arrow.apache.org/docs/{version}"; // supplied by jinja |
| template = template.replace("{version}", entry.version); |
| return template; |
| } |
| |
| // Function to check if corresponding page path exists in other version of docs |
| // and, if so, go there instead of the homepage of the other docs version |
| function checkPageExistsAndRedirect(event) { |
| const currentFilePath = "cpp/examples/row_columnar_conversion.html", |
| otherDocsHomepage = event.target.getAttribute("href"); |
| let tryUrl = `${otherDocsHomepage}${currentFilePath}`; |
| $.ajax({ |
| type: 'HEAD', |
| url: tryUrl, |
| // if the page exists, go there |
| success: function() { |
| location.href = tryUrl; |
| } |
| }).fail(function() { |
| location.href = otherDocsHomepage; |
| }); |
| return false; |
| } |
| |
| // Function to populate the version switcher |
| (function () { |
| // get JSON config |
| $.getJSON("/docs/_static/versions.json", function(data, textStatus, jqXHR) { |
| // create the nodes first (before AJAX calls) to ensure the order is |
| // correct (for now, links will go to doc version homepage) |
| $.each(data, function(index, entry) { |
| // if no custom name specified (e.g., "latest"), use version string |
| if (!("name" in entry)) { |
| entry.name = entry.version; |
| } |
| // construct the appropriate URL, and add it to the dropdown |
| entry.url = buildURL(entry); |
| const node = document.createElement("a"); |
| node.setAttribute("class", "list-group-item list-group-item-action py-1"); |
| node.setAttribute("href", `${entry.url}`); |
| node.textContent = `${entry.name}`; |
| node.onclick = checkPageExistsAndRedirect; |
| $("#version_switcher").append(node); |
| }); |
| }); |
| })(); |
| </script> |
| |
| <form id="search-box" class="bd-search d-flex align-items-center" action="../../search.html" method="get"> |
| <i class="icon fas fa-search"></i> |
| <input type="search" class="form-control" name="q" id="search-input" placeholder="Search the docs ..." aria-label="Search the docs ..." autocomplete="off" > |
| </form> |
| |
| </div> |
| |
| <nav class="bd-links" id="bd-docs-nav" aria-label="Main navigation"> |
| <div class="bd-toc-item active"> |
| |
| <p aria-level="2" class="caption" role="heading"> |
| <span class="caption-text"> |
| Supported Environments |
| </span> |
| </p> |
| <ul class="current nav bd-sidenav"> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../c_glib/index.html"> |
| C/GLib |
| </a> |
| </li> |
| <li class="toctree-l1 current active has-children"> |
| <a class="reference internal" href="../index.html"> |
| C++ |
| </a> |
| <input checked="" class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/> |
| <label for="toctree-checkbox-1"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul class="current"> |
| <li class="toctree-l2 has-children"> |
| <a class="reference internal" href="../getting_started.html"> |
| Getting Started |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/> |
| <label for="toctree-checkbox-2"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../build_system.html"> |
| Using Arrow C++ in your own project |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../conventions.html"> |
| Conventions |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../tutorials/basic_arrow.html"> |
| Basic Arrow Data Structures |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../tutorials/io_tutorial.html"> |
| Arrow File I/O |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../tutorials/compute_tutorial.html"> |
| Arrow Compute |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../tutorials/datasets_tutorial.html"> |
| Arrow Datasets |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2 has-children"> |
| <a class="reference internal" href="../user_guide.html"> |
| User Guide |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-3" name="toctree-checkbox-3" type="checkbox"/> |
| <label for="toctree-checkbox-3"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../overview.html"> |
| High-Level Overview |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../memory.html"> |
| Memory Management |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../arrays.html"> |
| Arrays |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../datatypes.html"> |
| Data Types |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../tables.html"> |
| Tabular Data |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../compute.html"> |
| Compute Functions |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../gandiva.html"> |
| The Gandiva Expression Compiler |
| </a> |
| </li> |
| <li class="toctree-l3 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 for="toctree-checkbox-4"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../acero/overview.html"> |
| Acero Overview |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../acero/user_guide.html"> |
| Acero User’s Guide |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../acero/substrait.html"> |
| Using Acero with Substrait |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../acero/developer_guide.html"> |
| Developer’s Guide |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../io.html"> |
| Input / output and filesystems |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../ipc.html"> |
| Reading and writing the Arrow IPC format |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../orc.html"> |
| Reading and Writing ORC files |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../parquet.html"> |
| Reading and writing Parquet files |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../csv.html"> |
| Reading and Writing CSV files |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../json.html"> |
| Reading JSON files |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../dataset.html"> |
| Tabular Datasets |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../flight.html"> |
| Arrow Flight RPC |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../gdb.html"> |
| Debugging code using Arrow |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../threading.html"> |
| Thread Management |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../opentelemetry.html"> |
| OpenTelemetry |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../env_vars.html"> |
| Environment Variables |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2 current active has-children"> |
| <a class="reference internal" href="index.html"> |
| Examples |
| </a> |
| <input checked="" class="toctree-checkbox" id="toctree-checkbox-5" name="toctree-checkbox-5" type="checkbox"/> |
| <label for="toctree-checkbox-5"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul class="current"> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="cmake_minimal_build.html"> |
| Minimal build using CMake |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="compute_and_write_example.html"> |
| Compute and Write CSV Example |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="dataset_documentation_example.html"> |
| Arrow Datasets example |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="dataset_skyhook_scan_example.html"> |
| Arrow Skyhook example |
| </a> |
| </li> |
| <li class="toctree-l3 current active"> |
| <a class="current reference internal" href="#"> |
| Row to columnar conversion |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="tuple_range_conversion.html"> |
| std::tuple-like ranges to Arrow |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2 has-children"> |
| <a class="reference internal" href="../api.html"> |
| API Reference |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-6" name="toctree-checkbox-6" type="checkbox"/> |
| <label for="toctree-checkbox-6"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/support.html"> |
| Programming Support |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/memory.html"> |
| Memory (management) |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/thread.html"> |
| Thread (management) |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/datatype.html"> |
| Data Types |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/array.html"> |
| Arrays |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/scalar.html"> |
| Scalars |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/builder.html"> |
| Array Builders |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/table.html"> |
| Two-dimensional Datasets |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/c_abi.html"> |
| C Interfaces |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/compute.html"> |
| Compute Functions |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/acero.html"> |
| Streaming Execution (Acero) |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/gandiva.html"> |
| Gandiva Expression Compiler |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/tensor.html"> |
| Tensors |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/utilities.html"> |
| Utilities |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/async.html"> |
| Asynchronous programming |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/io.html"> |
| Input / output |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/ipc.html"> |
| Arrow IPC |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/formats.html"> |
| File Formats |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/cuda.html"> |
| CUDA support |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/flight.html"> |
| Arrow Flight RPC |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/flightsql.html"> |
| Arrow Flight SQL |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/filesystem.html"> |
| Filesystems |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../api/dataset.html"> |
| Dataset |
| </a> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference external" href="https://github.com/apache/arrow/blob/main/csharp/README.md"> |
| C# |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference external" href="https://pkg.go.dev/github.com/apache/arrow/go"> |
| Go |
| </a> |
| </li> |
| <li class="toctree-l1 has-children"> |
| <a class="reference internal" href="../../java/index.html"> |
| Java |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-7" name="toctree-checkbox-7" type="checkbox"/> |
| <label for="toctree-checkbox-7"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/quickstartguide.html"> |
| Quick Start Guide |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/overview.html"> |
| High-Level Overview |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/install.html"> |
| Installing Java Modules |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/memory.html"> |
| Memory Management |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/vector.html"> |
| ValueVector |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/vector_schema_root.html"> |
| Tabular Data |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/table.html"> |
| Table |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/ipc.html"> |
| Reading/Writing IPC formats |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/algorithm.html"> |
| Java Algorithms |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/flight.html"> |
| Arrow Flight RPC |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/flight_sql.html"> |
| Arrow Flight SQL |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/flight_sql_jdbc_driver.html"> |
| Arrow Flight SQL JDBC Driver |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/dataset.html"> |
| Dataset |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/substrait.html"> |
| Substrait |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/cdata.html"> |
| C Data Interface |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/jdbc.html"> |
| Arrow JDBC Adapter |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../java/reference/index.html"> |
| Reference (javadoc) |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../js/index.html"> |
| JavaScript |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference external" href="https://arrow.apache.org/julia/"> |
| Julia |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference external" href="https://github.com/apache/arrow/blob/main/matlab/README.md"> |
| MATLAB |
| </a> |
| </li> |
| <li class="toctree-l1 has-children"> |
| <a class="reference internal" href="../../python/index.html"> |
| Python |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-8" name="toctree-checkbox-8" type="checkbox"/> |
| <label for="toctree-checkbox-8"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/install.html"> |
| Installing PyArrow |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/getstarted.html"> |
| Getting Started |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/data.html"> |
| Data Types and In-Memory Data Model |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/compute.html"> |
| Compute Functions |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/memory.html"> |
| Memory and IO Interfaces |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/ipc.html"> |
| Streaming, Serialization, and IPC |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/filesystems.html"> |
| Filesystem Interface |
| </a> |
| </li> |
| <li class="toctree-l2 has-children"> |
| <a class="reference internal" href="../../python/filesystems_deprecated.html"> |
| Filesystem Interface (legacy) |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-9" name="toctree-checkbox-9" type="checkbox"/> |
| <label for="toctree-checkbox-9"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.hdfs.connect.html"> |
| pyarrow.hdfs.connect |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.cat.html"> |
| pyarrow.HadoopFileSystem.cat |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.chmod.html"> |
| pyarrow.HadoopFileSystem.chmod |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.chown.html"> |
| pyarrow.HadoopFileSystem.chown |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.delete.html"> |
| pyarrow.HadoopFileSystem.delete |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.df.html"> |
| pyarrow.HadoopFileSystem.df |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.disk_usage.html"> |
| pyarrow.HadoopFileSystem.disk_usage |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.download.html"> |
| pyarrow.HadoopFileSystem.download |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.exists.html"> |
| pyarrow.HadoopFileSystem.exists |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.get_capacity.html"> |
| pyarrow.HadoopFileSystem.get_capacity |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.get_space_used.html"> |
| pyarrow.HadoopFileSystem.get_space_used |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.info.html"> |
| pyarrow.HadoopFileSystem.info |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.ls.html"> |
| pyarrow.HadoopFileSystem.ls |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.mkdir.html"> |
| pyarrow.HadoopFileSystem.mkdir |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.open.html"> |
| pyarrow.HadoopFileSystem.open |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.rename.html"> |
| pyarrow.HadoopFileSystem.rename |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.rm.html"> |
| pyarrow.HadoopFileSystem.rm |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HadoopFileSystem.upload.html"> |
| pyarrow.HadoopFileSystem.upload |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HdfsFile.html"> |
| pyarrow.HdfsFile |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/numpy.html"> |
| NumPy Integration |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/pandas.html"> |
| Pandas Integration |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/interchange_protocol.html"> |
| Dataframe Interchange Protocol |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/timestamps.html"> |
| Timestamps |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/orc.html"> |
| Reading and Writing the Apache ORC Format |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/csv.html"> |
| Reading and Writing CSV files |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/feather.html"> |
| Feather File Format |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/json.html"> |
| Reading JSON files |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/parquet.html"> |
| Reading and Writing the Apache Parquet Format |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/dataset.html"> |
| Tabular Datasets |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/flight.html"> |
| Arrow Flight RPC |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/extending_types.html"> |
| Extending pyarrow |
| </a> |
| </li> |
| <li class="toctree-l2 has-children"> |
| <a class="reference internal" href="../../python/integration.html"> |
| PyArrow Integrations |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-10" name="toctree-checkbox-10" type="checkbox"/> |
| <label for="toctree-checkbox-10"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/integration/python_r.html"> |
| Integrating PyArrow with R |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/integration/python_java.html"> |
| Integrating PyArrow with Java |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/integration/extending.html"> |
| Using pyarrow from C++ and Cython Code |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../python/integration/cuda.html"> |
| CUDA Integration |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/env_vars.html"> |
| Environment Variables |
| </a> |
| </li> |
| <li class="toctree-l2 has-children"> |
| <a class="reference internal" href="../../python/api.html"> |
| API Reference |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-11" name="toctree-checkbox-11" type="checkbox"/> |
| <label for="toctree-checkbox-11"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/datatypes.html"> |
| Data Types and Schemas |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-12" name="toctree-checkbox-12" type="checkbox"/> |
| <label for="toctree-checkbox-12"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.null.html"> |
| pyarrow.null |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.bool_.html"> |
| pyarrow.bool_ |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.int8.html"> |
| pyarrow.int8 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.int16.html"> |
| pyarrow.int16 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.int32.html"> |
| pyarrow.int32 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.int64.html"> |
| pyarrow.int64 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.uint8.html"> |
| pyarrow.uint8 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.uint16.html"> |
| pyarrow.uint16 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.uint32.html"> |
| pyarrow.uint32 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.uint64.html"> |
| pyarrow.uint64 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.float16.html"> |
| pyarrow.float16 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.float32.html"> |
| pyarrow.float32 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.float64.html"> |
| pyarrow.float64 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.time32.html"> |
| pyarrow.time32 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.time64.html"> |
| pyarrow.time64 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.timestamp.html"> |
| pyarrow.timestamp |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.date32.html"> |
| pyarrow.date32 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.date64.html"> |
| pyarrow.date64 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.duration.html"> |
| pyarrow.duration |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.month_day_nano_interval.html"> |
| pyarrow.month_day_nano_interval |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.binary.html"> |
| pyarrow.binary |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.string.html"> |
| pyarrow.string |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.utf8.html"> |
| pyarrow.utf8 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.large_binary.html"> |
| pyarrow.large_binary |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.large_string.html"> |
| pyarrow.large_string |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.large_utf8.html"> |
| pyarrow.large_utf8 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.decimal128.html"> |
| pyarrow.decimal128 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.list_.html"> |
| pyarrow.list_ |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.large_list.html"> |
| pyarrow.large_list |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.map_.html"> |
| pyarrow.map_ |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.struct.html"> |
| pyarrow.struct |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dictionary.html"> |
| pyarrow.dictionary |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.run_end_encoded.html"> |
| pyarrow.run_end_encoded |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.field.html"> |
| pyarrow.field |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.schema.html"> |
| pyarrow.schema |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.from_numpy_dtype.html"> |
| pyarrow.from_numpy_dtype |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.unify_schemas.html"> |
| pyarrow.unify_schemas |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.DataType.html"> |
| pyarrow.DataType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.DictionaryType.html"> |
| pyarrow.DictionaryType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ListType.html"> |
| pyarrow.ListType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.MapType.html"> |
| pyarrow.MapType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.StructType.html"> |
| pyarrow.StructType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.UnionType.html"> |
| pyarrow.UnionType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.TimestampType.html"> |
| pyarrow.TimestampType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Time32Type.html"> |
| pyarrow.Time32Type |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Time64Type.html"> |
| pyarrow.Time64Type |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryType.html"> |
| pyarrow.FixedSizeBinaryType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Decimal128Type.html"> |
| pyarrow.Decimal128Type |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Field.html"> |
| pyarrow.Field |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Schema.html"> |
| pyarrow.Schema |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.RunEndEncodedType.html"> |
| pyarrow.RunEndEncodedType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ExtensionType.html"> |
| pyarrow.ExtensionType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.PyExtensionType.html"> |
| pyarrow.PyExtensionType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.register_extension_type.html"> |
| pyarrow.register_extension_type |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.unregister_extension_type.html"> |
| pyarrow.unregister_extension_type |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_boolean.html"> |
| pyarrow.types.is_boolean |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_integer.html"> |
| pyarrow.types.is_integer |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_signed_integer.html"> |
| pyarrow.types.is_signed_integer |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_unsigned_integer.html"> |
| pyarrow.types.is_unsigned_integer |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_int8.html"> |
| pyarrow.types.is_int8 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_int16.html"> |
| pyarrow.types.is_int16 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_int32.html"> |
| pyarrow.types.is_int32 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_int64.html"> |
| pyarrow.types.is_int64 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_uint8.html"> |
| pyarrow.types.is_uint8 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_uint16.html"> |
| pyarrow.types.is_uint16 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_uint32.html"> |
| pyarrow.types.is_uint32 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_uint64.html"> |
| pyarrow.types.is_uint64 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_floating.html"> |
| pyarrow.types.is_floating |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_float16.html"> |
| pyarrow.types.is_float16 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_float32.html"> |
| pyarrow.types.is_float32 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_float64.html"> |
| pyarrow.types.is_float64 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_decimal.html"> |
| pyarrow.types.is_decimal |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_list.html"> |
| pyarrow.types.is_list |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_large_list.html"> |
| pyarrow.types.is_large_list |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_struct.html"> |
| pyarrow.types.is_struct |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_union.html"> |
| pyarrow.types.is_union |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_nested.html"> |
| pyarrow.types.is_nested |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_run_end_encoded.html"> |
| pyarrow.types.is_run_end_encoded |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_temporal.html"> |
| pyarrow.types.is_temporal |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_timestamp.html"> |
| pyarrow.types.is_timestamp |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_date.html"> |
| pyarrow.types.is_date |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_date32.html"> |
| pyarrow.types.is_date32 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_date64.html"> |
| pyarrow.types.is_date64 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_time.html"> |
| pyarrow.types.is_time |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_time32.html"> |
| pyarrow.types.is_time32 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_time64.html"> |
| pyarrow.types.is_time64 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_null.html"> |
| pyarrow.types.is_null |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_binary.html"> |
| pyarrow.types.is_binary |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_unicode.html"> |
| pyarrow.types.is_unicode |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_string.html"> |
| pyarrow.types.is_string |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_large_binary.html"> |
| pyarrow.types.is_large_binary |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_large_unicode.html"> |
| pyarrow.types.is_large_unicode |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_large_string.html"> |
| pyarrow.types.is_large_string |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_fixed_size_binary.html"> |
| pyarrow.types.is_fixed_size_binary |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_map.html"> |
| pyarrow.types.is_map |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.types.is_dictionary.html"> |
| pyarrow.types.is_dictionary |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/arrays.html"> |
| Arrays and Scalars |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-13" name="toctree-checkbox-13" type="checkbox"/> |
| <label for="toctree-checkbox-13"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.array.html"> |
| pyarrow.array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.nulls.html"> |
| pyarrow.nulls |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Array.html"> |
| pyarrow.Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.BooleanArray.html"> |
| pyarrow.BooleanArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.FloatingPointArray.html"> |
| pyarrow.FloatingPointArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.IntegerArray.html"> |
| pyarrow.IntegerArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Int8Array.html"> |
| pyarrow.Int8Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Int16Array.html"> |
| pyarrow.Int16Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Int32Array.html"> |
| pyarrow.Int32Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Int64Array.html"> |
| pyarrow.Int64Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.NullArray.html"> |
| pyarrow.NullArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.NumericArray.html"> |
| pyarrow.NumericArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.UInt8Array.html"> |
| pyarrow.UInt8Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.UInt16Array.html"> |
| pyarrow.UInt16Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.UInt32Array.html"> |
| pyarrow.UInt32Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.UInt64Array.html"> |
| pyarrow.UInt64Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HalfFloatArray.html"> |
| pyarrow.HalfFloatArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.FloatArray.html"> |
| pyarrow.FloatArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.DoubleArray.html"> |
| pyarrow.DoubleArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.BinaryArray.html"> |
| pyarrow.BinaryArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.StringArray.html"> |
| pyarrow.StringArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryArray.html"> |
| pyarrow.FixedSizeBinaryArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.LargeBinaryArray.html"> |
| pyarrow.LargeBinaryArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.LargeStringArray.html"> |
| pyarrow.LargeStringArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Time32Array.html"> |
| pyarrow.Time32Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Time64Array.html"> |
| pyarrow.Time64Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Date32Array.html"> |
| pyarrow.Date32Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Date64Array.html"> |
| pyarrow.Date64Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.TimestampArray.html"> |
| pyarrow.TimestampArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.DurationArray.html"> |
| pyarrow.DurationArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.MonthDayNanoIntervalArray.html"> |
| pyarrow.MonthDayNanoIntervalArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Decimal128Array.html"> |
| pyarrow.Decimal128Array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.DictionaryArray.html"> |
| pyarrow.DictionaryArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ListArray.html"> |
| pyarrow.ListArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.FixedSizeListArray.html"> |
| pyarrow.FixedSizeListArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.LargeListArray.html"> |
| pyarrow.LargeListArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.MapArray.html"> |
| pyarrow.MapArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.RunEndEncodedArray.html"> |
| pyarrow.RunEndEncodedArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.StructArray.html"> |
| pyarrow.StructArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.UnionArray.html"> |
| pyarrow.UnionArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ExtensionArray.html"> |
| pyarrow.ExtensionArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.FixedShapeTensorArray.html"> |
| pyarrow.FixedShapeTensorArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.scalar.html"> |
| pyarrow.scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.NA.html"> |
| pyarrow.NA |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Scalar.html"> |
| pyarrow.Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.BooleanScalar.html"> |
| pyarrow.BooleanScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Int8Scalar.html"> |
| pyarrow.Int8Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Int16Scalar.html"> |
| pyarrow.Int16Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Int32Scalar.html"> |
| pyarrow.Int32Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Int64Scalar.html"> |
| pyarrow.Int64Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.UInt8Scalar.html"> |
| pyarrow.UInt8Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.UInt16Scalar.html"> |
| pyarrow.UInt16Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.UInt32Scalar.html"> |
| pyarrow.UInt32Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.UInt64Scalar.html"> |
| pyarrow.UInt64Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.HalfFloatScalar.html"> |
| pyarrow.HalfFloatScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.FloatScalar.html"> |
| pyarrow.FloatScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.DoubleScalar.html"> |
| pyarrow.DoubleScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.BinaryScalar.html"> |
| pyarrow.BinaryScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.StringScalar.html"> |
| pyarrow.StringScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBinaryScalar.html"> |
| pyarrow.FixedSizeBinaryScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.LargeBinaryScalar.html"> |
| pyarrow.LargeBinaryScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.LargeStringScalar.html"> |
| pyarrow.LargeStringScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Time32Scalar.html"> |
| pyarrow.Time32Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Time64Scalar.html"> |
| pyarrow.Time64Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Date32Scalar.html"> |
| pyarrow.Date32Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Date64Scalar.html"> |
| pyarrow.Date64Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.TimestampScalar.html"> |
| pyarrow.TimestampScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.DurationScalar.html"> |
| pyarrow.DurationScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.MonthDayNanoIntervalScalar.html"> |
| pyarrow.MonthDayNanoIntervalScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Decimal128Scalar.html"> |
| pyarrow.Decimal128Scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.DictionaryScalar.html"> |
| pyarrow.DictionaryScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.RunEndEncodedScalar.html"> |
| pyarrow.RunEndEncodedScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ListScalar.html"> |
| pyarrow.ListScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.LargeListScalar.html"> |
| pyarrow.LargeListScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.MapScalar.html"> |
| pyarrow.MapScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.StructScalar.html"> |
| pyarrow.StructScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.UnionScalar.html"> |
| pyarrow.UnionScalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ExtensionScalar.html"> |
| pyarrow.ExtensionScalar |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/memory.html"> |
| Buffers and Memory |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-14" name="toctree-checkbox-14" type="checkbox"/> |
| <label for="toctree-checkbox-14"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.allocate_buffer.html"> |
| pyarrow.allocate_buffer |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.py_buffer.html"> |
| pyarrow.py_buffer |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.foreign_buffer.html"> |
| pyarrow.foreign_buffer |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Buffer.html"> |
| pyarrow.Buffer |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ResizableBuffer.html"> |
| pyarrow.ResizableBuffer |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Codec.html"> |
| pyarrow.Codec |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compress.html"> |
| pyarrow.compress |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.decompress.html"> |
| pyarrow.decompress |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.MemoryPool.html"> |
| pyarrow.MemoryPool |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.default_memory_pool.html"> |
| pyarrow.default_memory_pool |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.jemalloc_memory_pool.html"> |
| pyarrow.jemalloc_memory_pool |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.mimalloc_memory_pool.html"> |
| pyarrow.mimalloc_memory_pool |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.system_memory_pool.html"> |
| pyarrow.system_memory_pool |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.jemalloc_set_decay_ms.html"> |
| pyarrow.jemalloc_set_decay_ms |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.set_memory_pool.html"> |
| pyarrow.set_memory_pool |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.log_memory_allocations.html"> |
| pyarrow.log_memory_allocations |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.total_allocated_bytes.html"> |
| pyarrow.total_allocated_bytes |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/tables.html"> |
| Tables and Tensors |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-15" name="toctree-checkbox-15" type="checkbox"/> |
| <label for="toctree-checkbox-15"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.chunked_array.html"> |
| pyarrow.chunked_array |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.concat_arrays.html"> |
| pyarrow.concat_arrays |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.concat_tables.html"> |
| pyarrow.concat_tables |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.record_batch.html"> |
| pyarrow.record_batch |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.table.html"> |
| pyarrow.table |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ChunkedArray.html"> |
| pyarrow.ChunkedArray |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.RecordBatch.html"> |
| pyarrow.RecordBatch |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Table.html"> |
| pyarrow.Table |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.TableGroupBy.html"> |
| pyarrow.TableGroupBy |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.RecordBatchReader.html"> |
| pyarrow.RecordBatchReader |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.interchange.from_dataframe.html"> |
| pyarrow.interchange.from_dataframe |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.Tensor.html"> |
| pyarrow.Tensor |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/compute.html"> |
| Compute Functions |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-16" name="toctree-checkbox-16" type="checkbox"/> |
| <label for="toctree-checkbox-16"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.all.html"> |
| pyarrow.compute.all |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.any.html"> |
| pyarrow.compute.any |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.approximate_median.html"> |
| pyarrow.compute.approximate_median |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.count.html"> |
| pyarrow.compute.count |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.count_distinct.html"> |
| pyarrow.compute.count_distinct |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.index.html"> |
| pyarrow.compute.index |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.max.html"> |
| pyarrow.compute.max |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.mean.html"> |
| pyarrow.compute.mean |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.min.html"> |
| pyarrow.compute.min |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.min_max.html"> |
| pyarrow.compute.min_max |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.mode.html"> |
| pyarrow.compute.mode |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.product.html"> |
| pyarrow.compute.product |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.quantile.html"> |
| pyarrow.compute.quantile |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.stddev.html"> |
| pyarrow.compute.stddev |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.sum.html"> |
| pyarrow.compute.sum |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.tdigest.html"> |
| pyarrow.compute.tdigest |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.variance.html"> |
| pyarrow.compute.variance |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_sum.html"> |
| pyarrow.compute.cumulative_sum |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_sum_checked.html"> |
| pyarrow.compute.cumulative_sum_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_prod.html"> |
| pyarrow.compute.cumulative_prod |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_prod_checked.html"> |
| pyarrow.compute.cumulative_prod_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_max.html"> |
| pyarrow.compute.cumulative_max |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.cumulative_min.html"> |
| pyarrow.compute.cumulative_min |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.abs.html"> |
| pyarrow.compute.abs |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.abs_checked.html"> |
| pyarrow.compute.abs_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.add.html"> |
| pyarrow.compute.add |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.add_checked.html"> |
| pyarrow.compute.add_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.divide.html"> |
| pyarrow.compute.divide |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.divide_checked.html"> |
| pyarrow.compute.divide_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.multiply.html"> |
| pyarrow.compute.multiply |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.multiply_checked.html"> |
| pyarrow.compute.multiply_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.negate.html"> |
| pyarrow.compute.negate |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.negate_checked.html"> |
| pyarrow.compute.negate_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.power.html"> |
| pyarrow.compute.power |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.power_checked.html"> |
| pyarrow.compute.power_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.sign.html"> |
| pyarrow.compute.sign |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.sqrt.html"> |
| pyarrow.compute.sqrt |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.sqrt_checked.html"> |
| pyarrow.compute.sqrt_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.subtract.html"> |
| pyarrow.compute.subtract |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.subtract_checked.html"> |
| pyarrow.compute.subtract_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_and.html"> |
| pyarrow.compute.bit_wise_and |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_not.html"> |
| pyarrow.compute.bit_wise_not |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_or.html"> |
| pyarrow.compute.bit_wise_or |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.bit_wise_xor.html"> |
| pyarrow.compute.bit_wise_xor |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.shift_left.html"> |
| pyarrow.compute.shift_left |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.shift_left_checked.html"> |
| pyarrow.compute.shift_left_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.shift_right.html"> |
| pyarrow.compute.shift_right |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.shift_right_checked.html"> |
| pyarrow.compute.shift_right_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ceil.html"> |
| pyarrow.compute.ceil |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.floor.html"> |
| pyarrow.compute.floor |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.round.html"> |
| pyarrow.compute.round |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.round_to_multiple.html"> |
| pyarrow.compute.round_to_multiple |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.trunc.html"> |
| pyarrow.compute.trunc |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ln.html"> |
| pyarrow.compute.ln |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ln_checked.html"> |
| pyarrow.compute.ln_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.log10.html"> |
| pyarrow.compute.log10 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.log10_checked.html"> |
| pyarrow.compute.log10_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.log1p.html"> |
| pyarrow.compute.log1p |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.log1p_checked.html"> |
| pyarrow.compute.log1p_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.log2.html"> |
| pyarrow.compute.log2 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.log2_checked.html"> |
| pyarrow.compute.log2_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.logb.html"> |
| pyarrow.compute.logb |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.logb_checked.html"> |
| pyarrow.compute.logb_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.acos.html"> |
| pyarrow.compute.acos |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.acos_checked.html"> |
| pyarrow.compute.acos_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.asin.html"> |
| pyarrow.compute.asin |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.asin_checked.html"> |
| pyarrow.compute.asin_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.atan.html"> |
| pyarrow.compute.atan |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.atan2.html"> |
| pyarrow.compute.atan2 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.cos.html"> |
| pyarrow.compute.cos |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.cos_checked.html"> |
| pyarrow.compute.cos_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.sin.html"> |
| pyarrow.compute.sin |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.sin_checked.html"> |
| pyarrow.compute.sin_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.tan.html"> |
| pyarrow.compute.tan |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.tan_checked.html"> |
| pyarrow.compute.tan_checked |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.equal.html"> |
| pyarrow.compute.equal |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.greater.html"> |
| pyarrow.compute.greater |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.greater_equal.html"> |
| pyarrow.compute.greater_equal |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.less.html"> |
| pyarrow.compute.less |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.less_equal.html"> |
| pyarrow.compute.less_equal |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.not_equal.html"> |
| pyarrow.compute.not_equal |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.max_element_wise.html"> |
| pyarrow.compute.max_element_wise |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.min_element_wise.html"> |
| pyarrow.compute.min_element_wise |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.and_.html"> |
| pyarrow.compute.and_ |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.and_kleene.html"> |
| pyarrow.compute.and_kleene |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.and_not.html"> |
| pyarrow.compute.and_not |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.and_not_kleene.html"> |
| pyarrow.compute.and_not_kleene |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.invert.html"> |
| pyarrow.compute.invert |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.or_.html"> |
| pyarrow.compute.or_ |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.or_kleene.html"> |
| pyarrow.compute.or_kleene |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.xor.html"> |
| pyarrow.compute.xor |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_alnum.html"> |
| pyarrow.compute.ascii_is_alnum |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_alpha.html"> |
| pyarrow.compute.ascii_is_alpha |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_decimal.html"> |
| pyarrow.compute.ascii_is_decimal |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_lower.html"> |
| pyarrow.compute.ascii_is_lower |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_printable.html"> |
| pyarrow.compute.ascii_is_printable |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_space.html"> |
| pyarrow.compute.ascii_is_space |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_upper.html"> |
| pyarrow.compute.ascii_is_upper |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_alnum.html"> |
| pyarrow.compute.utf8_is_alnum |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_alpha.html"> |
| pyarrow.compute.utf8_is_alpha |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_decimal.html"> |
| pyarrow.compute.utf8_is_decimal |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_digit.html"> |
| pyarrow.compute.utf8_is_digit |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_lower.html"> |
| pyarrow.compute.utf8_is_lower |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_numeric.html"> |
| pyarrow.compute.utf8_is_numeric |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_printable.html"> |
| pyarrow.compute.utf8_is_printable |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_space.html"> |
| pyarrow.compute.utf8_is_space |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_upper.html"> |
| pyarrow.compute.utf8_is_upper |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_is_title.html"> |
| pyarrow.compute.ascii_is_title |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_is_title.html"> |
| pyarrow.compute.utf8_is_title |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.string_is_ascii.html"> |
| pyarrow.compute.string_is_ascii |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_capitalize.html"> |
| pyarrow.compute.ascii_capitalize |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_lower.html"> |
| pyarrow.compute.ascii_lower |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_reverse.html"> |
| pyarrow.compute.ascii_reverse |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_swapcase.html"> |
| pyarrow.compute.ascii_swapcase |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_title.html"> |
| pyarrow.compute.ascii_title |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_upper.html"> |
| pyarrow.compute.ascii_upper |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.binary_length.html"> |
| pyarrow.compute.binary_length |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.binary_repeat.html"> |
| pyarrow.compute.binary_repeat |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.binary_replace_slice.html"> |
| pyarrow.compute.binary_replace_slice |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.binary_reverse.html"> |
| pyarrow.compute.binary_reverse |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.replace_substring.html"> |
| pyarrow.compute.replace_substring |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.replace_substring_regex.html"> |
| pyarrow.compute.replace_substring_regex |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_capitalize.html"> |
| pyarrow.compute.utf8_capitalize |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_length.html"> |
| pyarrow.compute.utf8_length |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_lower.html"> |
| pyarrow.compute.utf8_lower |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_replace_slice.html"> |
| pyarrow.compute.utf8_replace_slice |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_reverse.html"> |
| pyarrow.compute.utf8_reverse |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_swapcase.html"> |
| pyarrow.compute.utf8_swapcase |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_title.html"> |
| pyarrow.compute.utf8_title |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_upper.html"> |
| pyarrow.compute.utf8_upper |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_center.html"> |
| pyarrow.compute.ascii_center |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_lpad.html"> |
| pyarrow.compute.ascii_lpad |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_rpad.html"> |
| pyarrow.compute.ascii_rpad |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_center.html"> |
| pyarrow.compute.utf8_center |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_lpad.html"> |
| pyarrow.compute.utf8_lpad |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_rpad.html"> |
| pyarrow.compute.utf8_rpad |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_ltrim.html"> |
| pyarrow.compute.ascii_ltrim |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_ltrim_whitespace.html"> |
| pyarrow.compute.ascii_ltrim_whitespace |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_rtrim.html"> |
| pyarrow.compute.ascii_rtrim |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_rtrim_whitespace.html"> |
| pyarrow.compute.ascii_rtrim_whitespace |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_trim.html"> |
| pyarrow.compute.ascii_trim |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_trim_whitespace.html"> |
| pyarrow.compute.ascii_trim_whitespace |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_ltrim.html"> |
| pyarrow.compute.utf8_ltrim |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_ltrim_whitespace.html"> |
| pyarrow.compute.utf8_ltrim_whitespace |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_rtrim.html"> |
| pyarrow.compute.utf8_rtrim |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_rtrim_whitespace.html"> |
| pyarrow.compute.utf8_rtrim_whitespace |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_trim.html"> |
| pyarrow.compute.utf8_trim |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_trim_whitespace.html"> |
| pyarrow.compute.utf8_trim_whitespace |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ascii_split_whitespace.html"> |
| pyarrow.compute.ascii_split_whitespace |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.split_pattern.html"> |
| pyarrow.compute.split_pattern |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.split_pattern_regex.html"> |
| pyarrow.compute.split_pattern_regex |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_split_whitespace.html"> |
| pyarrow.compute.utf8_split_whitespace |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.extract_regex.html"> |
| pyarrow.compute.extract_regex |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.binary_join.html"> |
| pyarrow.compute.binary_join |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.binary_join_element_wise.html"> |
| pyarrow.compute.binary_join_element_wise |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.binary_slice.html"> |
| pyarrow.compute.binary_slice |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.utf8_slice_codeunits.html"> |
| pyarrow.compute.utf8_slice_codeunits |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.count_substring.html"> |
| pyarrow.compute.count_substring |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.count_substring_regex.html"> |
| pyarrow.compute.count_substring_regex |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ends_with.html"> |
| pyarrow.compute.ends_with |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.find_substring.html"> |
| pyarrow.compute.find_substring |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.find_substring_regex.html"> |
| pyarrow.compute.find_substring_regex |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.index_in.html"> |
| pyarrow.compute.index_in |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.is_in.html"> |
| pyarrow.compute.is_in |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.match_like.html"> |
| pyarrow.compute.match_like |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.match_substring.html"> |
| pyarrow.compute.match_substring |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.match_substring_regex.html"> |
| pyarrow.compute.match_substring_regex |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.starts_with.html"> |
| pyarrow.compute.starts_with |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.indices_nonzero.html"> |
| pyarrow.compute.indices_nonzero |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.is_finite.html"> |
| pyarrow.compute.is_finite |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.is_inf.html"> |
| pyarrow.compute.is_inf |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.is_nan.html"> |
| pyarrow.compute.is_nan |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.is_null.html"> |
| pyarrow.compute.is_null |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.is_valid.html"> |
| pyarrow.compute.is_valid |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.true_unless_null.html"> |
| pyarrow.compute.true_unless_null |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.case_when.html"> |
| pyarrow.compute.case_when |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.choose.html"> |
| pyarrow.compute.choose |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.coalesce.html"> |
| pyarrow.compute.coalesce |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.if_else.html"> |
| pyarrow.compute.if_else |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.cast.html"> |
| pyarrow.compute.cast |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ceil_temporal.html"> |
| pyarrow.compute.ceil_temporal |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.floor_temporal.html"> |
| pyarrow.compute.floor_temporal |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.round_temporal.html"> |
| pyarrow.compute.round_temporal |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.run_end_decode.html"> |
| pyarrow.compute.run_end_decode |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.run_end_encode.html"> |
| pyarrow.compute.run_end_encode |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.strftime.html"> |
| pyarrow.compute.strftime |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.strptime.html"> |
| pyarrow.compute.strptime |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.day.html"> |
| pyarrow.compute.day |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.day_of_week.html"> |
| pyarrow.compute.day_of_week |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.day_of_year.html"> |
| pyarrow.compute.day_of_year |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.hour.html"> |
| pyarrow.compute.hour |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.iso_week.html"> |
| pyarrow.compute.iso_week |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.iso_year.html"> |
| pyarrow.compute.iso_year |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.iso_calendar.html"> |
| pyarrow.compute.iso_calendar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.is_leap_year.html"> |
| pyarrow.compute.is_leap_year |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.microsecond.html"> |
| pyarrow.compute.microsecond |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.millisecond.html"> |
| pyarrow.compute.millisecond |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.minute.html"> |
| pyarrow.compute.minute |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.month.html"> |
| pyarrow.compute.month |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.nanosecond.html"> |
| pyarrow.compute.nanosecond |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.quarter.html"> |
| pyarrow.compute.quarter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.second.html"> |
| pyarrow.compute.second |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.subsecond.html"> |
| pyarrow.compute.subsecond |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.us_week.html"> |
| pyarrow.compute.us_week |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.us_year.html"> |
| pyarrow.compute.us_year |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.week.html"> |
| pyarrow.compute.week |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.year.html"> |
| pyarrow.compute.year |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.year_month_day.html"> |
| pyarrow.compute.year_month_day |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.day_time_interval_between.html"> |
| pyarrow.compute.day_time_interval_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.days_between.html"> |
| pyarrow.compute.days_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.hours_between.html"> |
| pyarrow.compute.hours_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.microseconds_between.html"> |
| pyarrow.compute.microseconds_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.milliseconds_between.html"> |
| pyarrow.compute.milliseconds_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.minutes_between.html"> |
| pyarrow.compute.minutes_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.month_day_nano_interval_between.html"> |
| pyarrow.compute.month_day_nano_interval_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.month_interval_between.html"> |
| pyarrow.compute.month_interval_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.nanoseconds_between.html"> |
| pyarrow.compute.nanoseconds_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.quarters_between.html"> |
| pyarrow.compute.quarters_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.seconds_between.html"> |
| pyarrow.compute.seconds_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.weeks_between.html"> |
| pyarrow.compute.weeks_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.years_between.html"> |
| pyarrow.compute.years_between |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.assume_timezone.html"> |
| pyarrow.compute.assume_timezone |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.dictionary_encode.html"> |
| pyarrow.compute.dictionary_encode |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.unique.html"> |
| pyarrow.compute.unique |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.value_counts.html"> |
| pyarrow.compute.value_counts |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.array_filter.html"> |
| pyarrow.compute.array_filter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.array_take.html"> |
| pyarrow.compute.array_take |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.drop_null.html"> |
| pyarrow.compute.drop_null |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.filter.html"> |
| pyarrow.compute.filter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.take.html"> |
| pyarrow.compute.take |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.array_sort_indices.html"> |
| pyarrow.compute.array_sort_indices |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.partition_nth_indices.html"> |
| pyarrow.compute.partition_nth_indices |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.select_k_unstable.html"> |
| pyarrow.compute.select_k_unstable |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.sort_indices.html"> |
| pyarrow.compute.sort_indices |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.fill_null.html"> |
| pyarrow.compute.fill_null |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.fill_null_backward.html"> |
| pyarrow.compute.fill_null_backward |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.fill_null_forward.html"> |
| pyarrow.compute.fill_null_forward |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.list_element.html"> |
| pyarrow.compute.list_element |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.list_flatten.html"> |
| pyarrow.compute.list_flatten |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.list_parent_indices.html"> |
| pyarrow.compute.list_parent_indices |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.list_slice.html"> |
| pyarrow.compute.list_slice |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.list_value_length.html"> |
| pyarrow.compute.list_value_length |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.make_struct.html"> |
| pyarrow.compute.make_struct |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.map_lookup.html"> |
| pyarrow.compute.map_lookup |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.replace_with_mask.html"> |
| pyarrow.compute.replace_with_mask |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.struct_field.html"> |
| pyarrow.compute.struct_field |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.pairwise_diff.html"> |
| pyarrow.compute.pairwise_diff |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ArraySortOptions.html"> |
| pyarrow.compute.ArraySortOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.AssumeTimezoneOptions.html"> |
| pyarrow.compute.AssumeTimezoneOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.CastOptions.html"> |
| pyarrow.compute.CastOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.CountOptions.html"> |
| pyarrow.compute.CountOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.CountOptions.html"> |
| pyarrow.compute.CountOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.CumulativeSumOptions.html"> |
| pyarrow.compute.CumulativeSumOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.DayOfWeekOptions.html"> |
| pyarrow.compute.DayOfWeekOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.DictionaryEncodeOptions.html"> |
| pyarrow.compute.DictionaryEncodeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ElementWiseAggregateOptions.html"> |
| pyarrow.compute.ElementWiseAggregateOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ExtractRegexOptions.html"> |
| pyarrow.compute.ExtractRegexOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.FilterOptions.html"> |
| pyarrow.compute.FilterOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.IndexOptions.html"> |
| pyarrow.compute.IndexOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.JoinOptions.html"> |
| pyarrow.compute.JoinOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ListSliceOptions.html"> |
| pyarrow.compute.ListSliceOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.MakeStructOptions.html"> |
| pyarrow.compute.MakeStructOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.MapLookupOptions.html"> |
| pyarrow.compute.MapLookupOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.MatchSubstringOptions.html"> |
| pyarrow.compute.MatchSubstringOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ModeOptions.html"> |
| pyarrow.compute.ModeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.NullOptions.html"> |
| pyarrow.compute.NullOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.PadOptions.html"> |
| pyarrow.compute.PadOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.PairwiseOptions.html"> |
| pyarrow.compute.PairwiseOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.PartitionNthOptions.html"> |
| pyarrow.compute.PartitionNthOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.QuantileOptions.html"> |
| pyarrow.compute.QuantileOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ReplaceSliceOptions.html"> |
| pyarrow.compute.ReplaceSliceOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ReplaceSubstringOptions.html"> |
| pyarrow.compute.ReplaceSubstringOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.RoundOptions.html"> |
| pyarrow.compute.RoundOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.RoundTemporalOptions.html"> |
| pyarrow.compute.RoundTemporalOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.RoundToMultipleOptions.html"> |
| pyarrow.compute.RoundToMultipleOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.RunEndEncodeOptions.html"> |
| pyarrow.compute.RunEndEncodeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ScalarAggregateOptions.html"> |
| pyarrow.compute.ScalarAggregateOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.ScalarAggregateOptions.html"> |
| pyarrow.compute.ScalarAggregateOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.SelectKOptions.html"> |
| pyarrow.compute.SelectKOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.SetLookupOptions.html"> |
| pyarrow.compute.SetLookupOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.SliceOptions.html"> |
| pyarrow.compute.SliceOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.SortOptions.html"> |
| pyarrow.compute.SortOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.SplitOptions.html"> |
| pyarrow.compute.SplitOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.SplitPatternOptions.html"> |
| pyarrow.compute.SplitPatternOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.StrftimeOptions.html"> |
| pyarrow.compute.StrftimeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.StrptimeOptions.html"> |
| pyarrow.compute.StrptimeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.StructFieldOptions.html"> |
| pyarrow.compute.StructFieldOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.TakeOptions.html"> |
| pyarrow.compute.TakeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.TDigestOptions.html"> |
| pyarrow.compute.TDigestOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.TDigestOptions.html"> |
| pyarrow.compute.TDigestOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.TrimOptions.html"> |
| pyarrow.compute.TrimOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.VarianceOptions.html"> |
| pyarrow.compute.VarianceOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.WeekOptions.html"> |
| pyarrow.compute.WeekOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.compute.register_scalar_function.html"> |
| pyarrow.compute.register_scalar_function |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/acero.html"> |
| Acero - Streaming Execution Engine |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-17" name="toctree-checkbox-17" type="checkbox"/> |
| <label for="toctree-checkbox-17"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.acero.Declaration.html"> |
| pyarrow.acero.Declaration |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.acero.ExecNodeOptions.html"> |
| pyarrow.acero.ExecNodeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.acero.TableSourceNodeOptions.html"> |
| pyarrow.acero.TableSourceNodeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.acero.ScanNodeOptions.html"> |
| pyarrow.acero.ScanNodeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.acero.FilterNodeOptions.html"> |
| pyarrow.acero.FilterNodeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.acero.ProjectNodeOptions.html"> |
| pyarrow.acero.ProjectNodeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.acero.AggregateNodeOptions.html"> |
| pyarrow.acero.AggregateNodeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.acero.OrderByNodeOptions.html"> |
| pyarrow.acero.OrderByNodeOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.acero.HashJoinNodeOptions.html"> |
| pyarrow.acero.HashJoinNodeOptions |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/substrait.html"> |
| Substrait |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-18" name="toctree-checkbox-18" type="checkbox"/> |
| <label for="toctree-checkbox-18"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.substrait.run_query.html"> |
| pyarrow.substrait.run_query |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.substrait.get_supported_functions.html"> |
| pyarrow.substrait.get_supported_functions |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/files.html"> |
| Streams and File Access |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-19" name="toctree-checkbox-19" type="checkbox"/> |
| <label for="toctree-checkbox-19"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.input_stream.html"> |
| pyarrow.input_stream |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.output_stream.html"> |
| pyarrow.output_stream |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.memory_map.html"> |
| pyarrow.memory_map |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.create_memory_map.html"> |
| pyarrow.create_memory_map |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.NativeFile.html"> |
| pyarrow.NativeFile |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.OSFile.html"> |
| pyarrow.OSFile |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.PythonFile.html"> |
| pyarrow.PythonFile |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.BufferReader.html"> |
| pyarrow.BufferReader |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.BufferOutputStream.html"> |
| pyarrow.BufferOutputStream |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.FixedSizeBufferWriter.html"> |
| pyarrow.FixedSizeBufferWriter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.MemoryMappedFile.html"> |
| pyarrow.MemoryMappedFile |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.CompressedInputStream.html"> |
| pyarrow.CompressedInputStream |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.CompressedOutputStream.html"> |
| pyarrow.CompressedOutputStream |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/ipc.html"> |
| Serialization and IPC |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-20" name="toctree-checkbox-20" type="checkbox"/> |
| <label for="toctree-checkbox-20"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.new_file.html"> |
| pyarrow.ipc.new_file |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.open_file.html"> |
| pyarrow.ipc.open_file |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.new_stream.html"> |
| pyarrow.ipc.new_stream |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.open_stream.html"> |
| pyarrow.ipc.open_stream |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.read_message.html"> |
| pyarrow.ipc.read_message |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.read_record_batch.html"> |
| pyarrow.ipc.read_record_batch |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.get_record_batch_size.html"> |
| pyarrow.ipc.get_record_batch_size |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.read_tensor.html"> |
| pyarrow.ipc.read_tensor |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.write_tensor.html"> |
| pyarrow.ipc.write_tensor |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.get_tensor_size.html"> |
| pyarrow.ipc.get_tensor_size |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.IpcReadOptions.html"> |
| pyarrow.ipc.IpcReadOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.IpcWriteOptions.html"> |
| pyarrow.ipc.IpcWriteOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.Message.html"> |
| pyarrow.ipc.Message |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.MessageReader.html"> |
| pyarrow.ipc.MessageReader |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchFileReader.html"> |
| pyarrow.ipc.RecordBatchFileReader |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchFileWriter.html"> |
| pyarrow.ipc.RecordBatchFileWriter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchStreamReader.html"> |
| pyarrow.ipc.RecordBatchStreamReader |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.ipc.RecordBatchStreamWriter.html"> |
| pyarrow.ipc.RecordBatchStreamWriter |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/flight.html"> |
| Arrow Flight |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-21" name="toctree-checkbox-21" type="checkbox"/> |
| <label for="toctree-checkbox-21"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.Action.html"> |
| pyarrow.flight.Action |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.ActionType.html"> |
| pyarrow.flight.ActionType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.DescriptorType.html"> |
| pyarrow.flight.DescriptorType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightDescriptor.html"> |
| pyarrow.flight.FlightDescriptor |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightEndpoint.html"> |
| pyarrow.flight.FlightEndpoint |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightInfo.html"> |
| pyarrow.flight.FlightInfo |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.Location.html"> |
| pyarrow.flight.Location |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.MetadataRecordBatchReader.html"> |
| pyarrow.flight.MetadataRecordBatchReader |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.MetadataRecordBatchWriter.html"> |
| pyarrow.flight.MetadataRecordBatchWriter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.Ticket.html"> |
| pyarrow.flight.Ticket |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.Result.html"> |
| pyarrow.flight.Result |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.connect.html"> |
| pyarrow.flight.connect |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightCallOptions.html"> |
| pyarrow.flight.FlightCallOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightClient.html"> |
| pyarrow.flight.FlightClient |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightStreamReader.html"> |
| pyarrow.flight.FlightStreamReader |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightStreamWriter.html"> |
| pyarrow.flight.FlightStreamWriter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.ClientMiddlewareFactory.html"> |
| pyarrow.flight.ClientMiddlewareFactory |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.ClientMiddleware.html"> |
| pyarrow.flight.ClientMiddleware |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightDataStream.html"> |
| pyarrow.flight.FlightDataStream |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightMetadataWriter.html"> |
| pyarrow.flight.FlightMetadataWriter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightServerBase.html"> |
| pyarrow.flight.FlightServerBase |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.GeneratorStream.html"> |
| pyarrow.flight.GeneratorStream |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.RecordBatchStream.html"> |
| pyarrow.flight.RecordBatchStream |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.ServerCallContext.html"> |
| pyarrow.flight.ServerCallContext |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.ServerMiddlewareFactory.html"> |
| pyarrow.flight.ServerMiddlewareFactory |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.ServerMiddleware.html"> |
| pyarrow.flight.ServerMiddleware |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.ClientAuthHandler.html"> |
| pyarrow.flight.ClientAuthHandler |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.ServerAuthHandler.html"> |
| pyarrow.flight.ServerAuthHandler |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightError.html"> |
| pyarrow.flight.FlightError |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightCancelledError.html"> |
| pyarrow.flight.FlightCancelledError |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightInternalError.html"> |
| pyarrow.flight.FlightInternalError |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightServerError.html"> |
| pyarrow.flight.FlightServerError |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightTimedOutError.html"> |
| pyarrow.flight.FlightTimedOutError |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightUnauthenticatedError.html"> |
| pyarrow.flight.FlightUnauthenticatedError |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightUnauthorizedError.html"> |
| pyarrow.flight.FlightUnauthorizedError |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightUnavailableError.html"> |
| pyarrow.flight.FlightUnavailableError |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightWriteSizeExceededError.html"> |
| pyarrow.flight.FlightWriteSizeExceededError |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.FlightMethod.html"> |
| pyarrow.flight.FlightMethod |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.flight.CallInfo.html"> |
| pyarrow.flight.CallInfo |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/formats.html"> |
| Tabular File Formats |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-22" name="toctree-checkbox-22" type="checkbox"/> |
| <label for="toctree-checkbox-22"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.csv.ConvertOptions.html"> |
| pyarrow.csv.ConvertOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.csv.CSVStreamingReader.html"> |
| pyarrow.csv.CSVStreamingReader |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.csv.CSVWriter.html"> |
| pyarrow.csv.CSVWriter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.csv.ISO8601.html"> |
| pyarrow.csv.ISO8601 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.csv.ParseOptions.html"> |
| pyarrow.csv.ParseOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.csv.ReadOptions.html"> |
| pyarrow.csv.ReadOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.csv.WriteOptions.html"> |
| pyarrow.csv.WriteOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.csv.open_csv.html"> |
| pyarrow.csv.open_csv |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.csv.read_csv.html"> |
| pyarrow.csv.read_csv |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.csv.write_csv.html"> |
| pyarrow.csv.write_csv |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.csv.InvalidRow.html"> |
| pyarrow.csv.InvalidRow |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.feather.read_feather.html"> |
| pyarrow.feather.read_feather |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.feather.read_table.html"> |
| pyarrow.feather.read_table |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.feather.write_feather.html"> |
| pyarrow.feather.write_feather |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.json.ReadOptions.html"> |
| pyarrow.json.ReadOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.json.ParseOptions.html"> |
| pyarrow.json.ParseOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.json.read_json.html"> |
| pyarrow.json.read_json |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetDataset.html"> |
| pyarrow.parquet.ParquetDataset |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetFile.html"> |
| pyarrow.parquet.ParquetFile |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetWriter.html"> |
| pyarrow.parquet.ParquetWriter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.read_table.html"> |
| pyarrow.parquet.read_table |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.read_metadata.html"> |
| pyarrow.parquet.read_metadata |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.read_pandas.html"> |
| pyarrow.parquet.read_pandas |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.read_schema.html"> |
| pyarrow.parquet.read_schema |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.write_metadata.html"> |
| pyarrow.parquet.write_metadata |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.write_table.html"> |
| pyarrow.parquet.write_table |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.write_to_dataset.html"> |
| pyarrow.parquet.write_to_dataset |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.FileMetaData.html"> |
| pyarrow.parquet.FileMetaData |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.RowGroupMetaData.html"> |
| pyarrow.parquet.RowGroupMetaData |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.ColumnChunkMetaData.html"> |
| pyarrow.parquet.ColumnChunkMetaData |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.Statistics.html"> |
| pyarrow.parquet.Statistics |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetSchema.html"> |
| pyarrow.parquet.ParquetSchema |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.ColumnSchema.html"> |
| pyarrow.parquet.ColumnSchema |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.ParquetLogicalType.html"> |
| pyarrow.parquet.ParquetLogicalType |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.CryptoFactory.html"> |
| pyarrow.parquet.encryption.CryptoFactory |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.KmsClient.html"> |
| pyarrow.parquet.encryption.KmsClient |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.KmsConnectionConfig.html"> |
| pyarrow.parquet.encryption.KmsConnectionConfig |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.EncryptionConfiguration.html"> |
| pyarrow.parquet.encryption.EncryptionConfiguration |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.parquet.encryption.DecryptionConfiguration.html"> |
| pyarrow.parquet.encryption.DecryptionConfiguration |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.orc.ORCFile.html"> |
| pyarrow.orc.ORCFile |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.orc.ORCWriter.html"> |
| pyarrow.orc.ORCWriter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.orc.read_table.html"> |
| pyarrow.orc.read_table |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.orc.write_table.html"> |
| pyarrow.orc.write_table |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/filesystems.html"> |
| Filesystems |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-23" name="toctree-checkbox-23" type="checkbox"/> |
| <label for="toctree-checkbox-23"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.FileInfo.html"> |
| pyarrow.fs.FileInfo |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.FileSelector.html"> |
| pyarrow.fs.FileSelector |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.FileSystem.html"> |
| pyarrow.fs.FileSystem |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.LocalFileSystem.html"> |
| pyarrow.fs.LocalFileSystem |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.S3FileSystem.html"> |
| pyarrow.fs.S3FileSystem |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.GcsFileSystem.html"> |
| pyarrow.fs.GcsFileSystem |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.HadoopFileSystem.html"> |
| pyarrow.fs.HadoopFileSystem |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.SubTreeFileSystem.html"> |
| pyarrow.fs.SubTreeFileSystem |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.PyFileSystem.html"> |
| pyarrow.fs.PyFileSystem |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.FileSystemHandler.html"> |
| pyarrow.fs.FileSystemHandler |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.FSSpecHandler.html"> |
| pyarrow.fs.FSSpecHandler |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.copy_files.html"> |
| pyarrow.fs.copy_files |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.initialize_s3.html"> |
| pyarrow.fs.initialize_s3 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.finalize_s3.html"> |
| pyarrow.fs.finalize_s3 |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.resolve_s3_region.html"> |
| pyarrow.fs.resolve_s3_region |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.fs.S3LogLevel.html"> |
| pyarrow.fs.S3LogLevel |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/dataset.html"> |
| Dataset |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-24" name="toctree-checkbox-24" type="checkbox"/> |
| <label for="toctree-checkbox-24"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.dataset.html"> |
| pyarrow.dataset.dataset |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.parquet_dataset.html"> |
| pyarrow.dataset.parquet_dataset |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.partitioning.html"> |
| pyarrow.dataset.partitioning |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.field.html"> |
| pyarrow.dataset.field |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.scalar.html"> |
| pyarrow.dataset.scalar |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.write_dataset.html"> |
| pyarrow.dataset.write_dataset |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.FileFormat.html"> |
| pyarrow.dataset.FileFormat |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.CsvFileFormat.html"> |
| pyarrow.dataset.CsvFileFormat |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.CsvFragmentScanOptions.html"> |
| pyarrow.dataset.CsvFragmentScanOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.IpcFileFormat.html"> |
| pyarrow.dataset.IpcFileFormat |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetFileFormat.html"> |
| pyarrow.dataset.ParquetFileFormat |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetReadOptions.html"> |
| pyarrow.dataset.ParquetReadOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.ParquetFragmentScanOptions.html"> |
| pyarrow.dataset.ParquetFragmentScanOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.OrcFileFormat.html"> |
| pyarrow.dataset.OrcFileFormat |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.Partitioning.html"> |
| pyarrow.dataset.Partitioning |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.PartitioningFactory.html"> |
| pyarrow.dataset.PartitioningFactory |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.DirectoryPartitioning.html"> |
| pyarrow.dataset.DirectoryPartitioning |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.HivePartitioning.html"> |
| pyarrow.dataset.HivePartitioning |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.FilenamePartitioning.html"> |
| pyarrow.dataset.FilenamePartitioning |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.Dataset.html"> |
| pyarrow.dataset.Dataset |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemDataset.html"> |
| pyarrow.dataset.FileSystemDataset |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemFactoryOptions.html"> |
| pyarrow.dataset.FileSystemFactoryOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.FileSystemDatasetFactory.html"> |
| pyarrow.dataset.FileSystemDatasetFactory |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.UnionDataset.html"> |
| pyarrow.dataset.UnionDataset |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.Fragment.html"> |
| pyarrow.dataset.Fragment |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.FragmentScanOptions.html"> |
| pyarrow.dataset.FragmentScanOptions |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.TaggedRecordBatch.html"> |
| pyarrow.dataset.TaggedRecordBatch |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.Scanner.html"> |
| pyarrow.dataset.Scanner |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.Expression.html"> |
| pyarrow.dataset.Expression |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.InMemoryDataset.html"> |
| pyarrow.dataset.InMemoryDataset |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.WrittenFile.html"> |
| pyarrow.dataset.WrittenFile |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.dataset.get_partition_keys.html"> |
| pyarrow.dataset.get_partition_keys |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/cuda.html"> |
| CUDA Integration |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-25" name="toctree-checkbox-25" type="checkbox"/> |
| <label for="toctree-checkbox-25"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.cuda.Context.html"> |
| pyarrow.cuda.Context |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.cuda.CudaBuffer.html"> |
| pyarrow.cuda.CudaBuffer |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.cuda.new_host_buffer.html"> |
| pyarrow.cuda.new_host_buffer |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.cuda.HostBuffer.html"> |
| pyarrow.cuda.HostBuffer |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.cuda.BufferReader.html"> |
| pyarrow.cuda.BufferReader |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.cuda.BufferWriter.html"> |
| pyarrow.cuda.BufferWriter |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.cuda.serialize_record_batch.html"> |
| pyarrow.cuda.serialize_record_batch |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.cuda.read_record_batch.html"> |
| pyarrow.cuda.read_record_batch |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.cuda.read_message.html"> |
| pyarrow.cuda.read_message |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.cuda.IpcMemHandle.html"> |
| pyarrow.cuda.IpcMemHandle |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l3 has-children"> |
| <a class="reference internal" href="../../python/api/misc.html"> |
| Miscellaneous |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-26" name="toctree-checkbox-26" type="checkbox"/> |
| <label for="toctree-checkbox-26"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.cpu_count.html"> |
| pyarrow.cpu_count |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.set_cpu_count.html"> |
| pyarrow.set_cpu_count |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.io_thread_count.html"> |
| pyarrow.io_thread_count |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.set_io_thread_count.html"> |
| pyarrow.set_io_thread_count |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.get_include.html"> |
| pyarrow.get_include |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.get_libraries.html"> |
| pyarrow.get_libraries |
| </a> |
| </li> |
| <li class="toctree-l4"> |
| <a class="reference internal" href="../../python/generated/pyarrow.get_library_dirs.html"> |
| pyarrow.get_library_dirs |
| </a> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/getting_involved.html"> |
| Getting Involved |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../python/benchmarks.html"> |
| Benchmarks |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../r/index.html"> |
| R |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference external" href="https://github.com/apache/arrow/blob/main/ruby/README.md"> |
| Ruby |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference external" href="https://docs.rs/crate/arrow/"> |
| Rust |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../status.html"> |
| Implementation Status |
| </a> |
| </li> |
| </ul> |
| <p aria-level="2" class="caption" role="heading"> |
| <span class="caption-text"> |
| Cookbooks |
| </span> |
| </p> |
| <ul class="nav bd-sidenav"> |
| <li class="toctree-l1"> |
| <a class="reference external" href="https://arrow.apache.org/cookbook/cpp/"> |
| C++ |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference external" href="https://arrow.apache.org/cookbook/java/"> |
| Java |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference external" href="https://arrow.apache.org/cookbook/py/"> |
| Python |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference external" href="https://arrow.apache.org/cookbook/r/"> |
| R |
| </a> |
| </li> |
| </ul> |
| <p aria-level="2" class="caption" role="heading"> |
| <span class="caption-text"> |
| Specifications and Protocols |
| </span> |
| </p> |
| <ul class="nav bd-sidenav"> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/Versioning.html"> |
| Format Versioning and Stability |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/Columnar.html"> |
| Arrow Columnar Format |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/CanonicalExtensions.html"> |
| Canonical Extension Types |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/Flight.html"> |
| Arrow Flight RPC |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/FlightSql.html"> |
| Arrow Flight SQL |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/Integration.html"> |
| Integration Testing |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/CDataInterface.html"> |
| The Arrow C data interface |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/CStreamInterface.html"> |
| The Arrow C stream interface |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/CDeviceDataInterface.html"> |
| The Arrow C Device data interface |
| </a> |
| </li> |
| <li class="toctree-l1 has-children"> |
| <a class="reference internal" href="../../format/ADBC.html"> |
| ADBC: Arrow Database Connectivity |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-27" name="toctree-checkbox-27" type="checkbox"/> |
| <label for="toctree-checkbox-27"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../format/ADBC/C.html"> |
| ADBC C API Specification |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../format/ADBC/Go.html"> |
| ADBC Go API Specification |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../format/ADBC/Java.html"> |
| ADBC Java API Specification |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/Other.html"> |
| Other Data Structures |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/Changing.html"> |
| Changing the Apache Arrow Format Specification |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../format/Glossary.html"> |
| Glossary |
| </a> |
| </li> |
| </ul> |
| <p aria-level="2" class="caption" role="heading"> |
| <span class="caption-text"> |
| Development |
| </span> |
| </p> |
| <ul class="nav bd-sidenav"> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../developers/contributing.html"> |
| Contributing to Apache Arrow |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../developers/bug_reports.html"> |
| Bug reports and feature requests |
| </a> |
| </li> |
| <li class="toctree-l1 has-children"> |
| <a class="reference internal" href="../../developers/guide/index.html"> |
| New Contributor’s Guide |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-28" name="toctree-checkbox-28" type="checkbox"/> |
| <label for="toctree-checkbox-28"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/guide/architectural_overview.html"> |
| Architectural Overview |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/guide/communication.html"> |
| Communication |
| </a> |
| </li> |
| <li class="toctree-l2 has-children"> |
| <a class="reference internal" href="../../developers/guide/step_by_step/index.html"> |
| Steps in making your first PR |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-29" name="toctree-checkbox-29" type="checkbox"/> |
| <label for="toctree-checkbox-29"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../developers/guide/step_by_step/set_up.html"> |
| Set up |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../developers/guide/step_by_step/building.html"> |
| Building the Arrow libraries 🏋🏿♀️ |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../developers/guide/step_by_step/finding_issues.html"> |
| Finding good first issues 🔎 |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../developers/guide/step_by_step/arrow_codebase.html"> |
| Working on the Arrow codebase 🧐 |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../developers/guide/step_by_step/testing.html"> |
| Testing 🧪 |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../developers/guide/step_by_step/styling.html"> |
| Styling 😎 |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../developers/guide/step_by_step/pr_lifecycle.html"> |
| Lifecycle of a pull request |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/guide/documentation.html"> |
| Helping with documentation |
| </a> |
| </li> |
| <li class="toctree-l2 has-children"> |
| <a class="reference internal" href="../../developers/guide/tutorials/index.html"> |
| Tutorials |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-30" name="toctree-checkbox-30" type="checkbox"/> |
| <label for="toctree-checkbox-30"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../developers/guide/tutorials/python_tutorial.html"> |
| Python tutorial |
| </a> |
| </li> |
| <li class="toctree-l3"> |
| <a class="reference internal" href="../../developers/guide/tutorials/r_tutorial.html"> |
| R tutorials |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/guide/resources.html"> |
| Additional information and resources |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../developers/overview.html"> |
| Contributing Overview |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../developers/reviewing.html"> |
| Reviewing contributions |
| </a> |
| </li> |
| <li class="toctree-l1 has-children"> |
| <a class="reference internal" href="../../developers/cpp/index.html"> |
| C++ Development |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-31" name="toctree-checkbox-31" type="checkbox"/> |
| <label for="toctree-checkbox-31"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/cpp/building.html"> |
| Building Arrow C++ |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/cpp/development.html"> |
| Development Guidelines |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/cpp/windows.html"> |
| Developing on Windows |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/cpp/conventions.html"> |
| Conventions |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/cpp/fuzzing.html"> |
| Fuzzing Arrow C++ |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l1 has-children"> |
| <a class="reference internal" href="../../developers/java/index.html"> |
| Java Development |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-32" name="toctree-checkbox-32" type="checkbox"/> |
| <label for="toctree-checkbox-32"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/java/building.html"> |
| Building Arrow Java |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/java/development.html"> |
| Development Guidelines |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../developers/python.html"> |
| Python Development |
| </a> |
| </li> |
| <li class="toctree-l1 has-children"> |
| <a class="reference internal" href="../../developers/continuous_integration/index.html"> |
| Continuous Integration |
| </a> |
| <input class="toctree-checkbox" id="toctree-checkbox-33" name="toctree-checkbox-33" type="checkbox"/> |
| <label for="toctree-checkbox-33"> |
| <i class="fas fa-chevron-down"> |
| </i> |
| </label> |
| <ul> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/continuous_integration/overview.html"> |
| Continuous Integration |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/continuous_integration/docker.html"> |
| Running Docker Builds |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/continuous_integration/archery.html"> |
| Daily Development using Archery |
| </a> |
| </li> |
| <li class="toctree-l2"> |
| <a class="reference internal" href="../../developers/continuous_integration/crossbow.html"> |
| Packaging and Testing with Crossbow |
| </a> |
| </li> |
| </ul> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../developers/benchmarks.html"> |
| Benchmarks |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../developers/documentation.html"> |
| Building the Documentation |
| </a> |
| </li> |
| <li class="toctree-l1"> |
| <a class="reference internal" href="../../developers/release.html"> |
| Release Management Guide |
| </a> |
| </li> |
| </ul> |
| |
| |
| </div> |
| </nav> |
| </div> |
| <div class="sidebar-end-items"> |
| </div> |
| </div> |
| |
| |
| |
| |
| <div class="d-none d-xl-block col-xl-2 bd-toc"> |
| |
| |
| <div class="toc-item"> |
| |
| <div class="tocsection onthispage pt-5 pb-3"> |
| <i class="fas fa-list"></i> On this page |
| </div> |
| |
| <nav id="bd-toc-nav"> |
| <ul class="visible nav section-nav flex-column"> |
| <li class="toc-h2 nav-item toc-entry"> |
| <a class="reference internal nav-link" href="#fixed-schemas"> |
| Fixed Schemas |
| </a> |
| </li> |
| <li class="toc-h2 nav-item toc-entry"> |
| <a class="reference internal nav-link" href="#dynamic-schemas"> |
| Dynamic Schemas |
| </a> |
| <ul class="visible nav section-nav flex-column"> |
| <li class="toc-h3 nav-item toc-entry"> |
| <a class="reference internal nav-link" href="#writing-conversions-to-arrow"> |
| Writing conversions to Arrow |
| </a> |
| </li> |
| <li class="toc-h3 nav-item toc-entry"> |
| <a class="reference internal nav-link" href="#writing-conversions-from-arrow"> |
| Writing conversions from Arrow |
| </a> |
| </li> |
| </ul> |
| </li> |
| </ul> |
| |
| </nav> |
| </div> |
| |
| <div class="toc-item"> |
| |
| |
| <div class="tocsection editthispage"> |
| <a href="https://github.com/apache/arrow/edit/main/docs/source/cpp/examples/row_columnar_conversion.rst"> |
| <i class="fas fa-pencil-alt"></i> Edit this page |
| </a> |
| </div> |
| |
| </div> |
| |
| |
| </div> |
| |
| |
| |
| |
| |
| |
| <main class="col-12 col-md-9 col-xl-7 py-md-5 pl-md-5 pr-md-4 bd-content" role="main"> |
| |
| <div> |
| |
| <section id="row-to-columnar-conversion"> |
| <h1>Row to columnar conversion<a class="headerlink" href="#row-to-columnar-conversion" title="Permalink to this heading">¶</a></h1> |
| <section id="fixed-schemas"> |
| <h2>Fixed Schemas<a class="headerlink" href="#fixed-schemas" title="Permalink to this heading">¶</a></h2> |
| <p>The following example converts an array of structs to a <a class="reference internal" href="../api/table.html#_CPPv4N5arrow5TableE" title="arrow::Table"><code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">arrow::Table</span></code></a> |
| instance, and then converts it back to the original array of structs.</p> |
| <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="c1">// Licensed to the Apache Software Foundation (ASF) under one</span> |
| <span class="c1">// or more contributor license agreements. See the NOTICE file</span> |
| <span class="c1">// distributed with this work for additional information</span> |
| <span class="c1">// regarding copyright ownership. The ASF licenses this file</span> |
| <span class="c1">// to you under the Apache License, Version 2.0 (the</span> |
| <span class="c1">// "License"); you may not use this file except in compliance</span> |
| <span class="c1">// with the License. You may obtain a copy of the License at</span> |
| <span class="c1">//</span> |
| <span class="c1">// http://www.apache.org/licenses/LICENSE-2.0</span> |
| <span class="c1">//</span> |
| <span class="c1">// Unless required by applicable law or agreed to in writing,</span> |
| <span class="c1">// software distributed under the License is distributed on an</span> |
| <span class="c1">// "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY</span> |
| <span class="c1">// KIND, either express or implied. See the License for the</span> |
| <span class="c1">// specific language governing permissions and limitations</span> |
| <span class="c1">// under the License.</span> |
| |
| <span class="cp">#include</span><span class="w"> </span><span class="cpf"><arrow/api.h></span> |
| <span class="cp">#include</span><span class="w"> </span><span class="cpf"><arrow/result.h></span> |
| |
| <span class="cp">#include</span><span class="w"> </span><span class="cpf"><cstdint></span> |
| <span class="cp">#include</span><span class="w"> </span><span class="cpf"><iomanip></span> |
| <span class="cp">#include</span><span class="w"> </span><span class="cpf"><iostream></span> |
| <span class="cp">#include</span><span class="w"> </span><span class="cpf"><vector></span> |
| |
| <span class="k">using</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">DoubleBuilder</span><span class="p">;</span> |
| <span class="k">using</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Int64Builder</span><span class="p">;</span> |
| <span class="k">using</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">ListBuilder</span><span class="p">;</span> |
| |
| <span class="c1">// While we want to use columnar data structures to build efficient operations, we</span> |
| <span class="c1">// often receive data in a row-wise fashion from other systems. In the following,</span> |
| <span class="c1">// we want give a brief introduction into the classes provided by Apache Arrow by</span> |
| <span class="c1">// showing how to transform row-wise data into a columnar table.</span> |
| <span class="c1">//</span> |
| <span class="c1">// The table contains an id for a product, the number of components in the product</span> |
| <span class="c1">// and the cost of each component.</span> |
| <span class="c1">//</span> |
| <span class="c1">// The data in this example is stored in the following struct:</span> |
| <span class="k">struct</span><span class="w"> </span><span class="nc">data_row</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="n">id</span><span class="p">;</span> |
| <span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="n">components</span><span class="p">;</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">double</span><span class="o">></span><span class="w"> </span><span class="n">component_cost</span><span class="p">;</span> |
| <span class="p">};</span> |
| |
| <span class="c1">// Transforming a vector of structs into a columnar Table.</span> |
| <span class="c1">//</span> |
| <span class="c1">// The final representation should be an `arrow::Table` which in turn</span> |
| <span class="c1">// is made up of an `arrow::Schema` and a list of</span> |
| <span class="c1">// `arrow::ChunkedArray` instances. As the first step, we will iterate</span> |
| <span class="c1">// over the data and build up the arrays incrementally. For this</span> |
| <span class="c1">// task, we provide `arrow::ArrayBuilder` classes that help in the</span> |
| <span class="c1">// construction of the final `arrow::Array` instances.</span> |
| <span class="c1">//</span> |
| <span class="c1">// For each type, Arrow has a specially typed builder class. For the primitive</span> |
| <span class="c1">// values `id` and `components` we can use the `arrow::Int64Builder`. For the</span> |
| <span class="c1">// `component_cost` vector, we need to have two builders, a top-level</span> |
| <span class="c1">// `arrow::ListBuilder` that builds the array of offsets and a nested</span> |
| <span class="c1">// `arrow::DoubleBuilder` that constructs the underlying values array that</span> |
| <span class="c1">// is referenced by the offsets in the former array.</span> |
| <span class="n">arrow</span><span class="o">::</span><span class="n">Result</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Table</span><span class="o">>></span><span class="w"> </span><span class="n">VectorToColumnarTable</span><span class="p">(</span> |
| <span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="k">struct</span><span class="w"> </span><span class="nc">data_row</span><span class="o">>&</span><span class="w"> </span><span class="n">rows</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="c1">// The builders are more efficient using</span> |
| <span class="w"> </span><span class="c1">// arrow::jemalloc::MemoryPool::default_pool() as this can increase the size of</span> |
| <span class="w"> </span><span class="c1">// the underlying memory regions in-place. At the moment, arrow::jemalloc is only</span> |
| <span class="w"> </span><span class="c1">// supported on Unix systems, not Windows.</span> |
| <span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">MemoryPool</span><span class="o">*</span><span class="w"> </span><span class="n">pool</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">default_memory_pool</span><span class="p">();</span> |
| |
| <span class="w"> </span><span class="n">Int64Builder</span><span class="w"> </span><span class="nf">id_builder</span><span class="p">(</span><span class="n">pool</span><span class="p">);</span> |
| <span class="w"> </span><span class="n">Int64Builder</span><span class="w"> </span><span class="nf">components_builder</span><span class="p">(</span><span class="n">pool</span><span class="p">);</span> |
| <span class="w"> </span><span class="n">ListBuilder</span><span class="w"> </span><span class="nf">component_cost_builder</span><span class="p">(</span><span class="n">pool</span><span class="p">,</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_shared</span><span class="o"><</span><span class="n">DoubleBuilder</span><span class="o">></span><span class="p">(</span><span class="n">pool</span><span class="p">));</span> |
| <span class="w"> </span><span class="c1">// The following builder is owned by component_cost_builder.</span> |
| <span class="w"> </span><span class="n">DoubleBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">component_item_cost_builder</span><span class="w"> </span><span class="o">=</span> |
| <span class="w"> </span><span class="p">(</span><span class="k">static_cast</span><span class="o"><</span><span class="n">DoubleBuilder</span><span class="o">*></span><span class="p">(</span><span class="n">component_cost_builder</span><span class="p">.</span><span class="n">value_builder</span><span class="p">()));</span> |
| |
| <span class="w"> </span><span class="c1">// Now we can loop over our existing data and insert it into the builders. The</span> |
| <span class="w"> </span><span class="c1">// `Append` calls here may fail (e.g. we cannot allocate enough additional memory).</span> |
| <span class="w"> </span><span class="c1">// Thus we need to check their return values. For more information on these values,</span> |
| <span class="w"> </span><span class="c1">// check the documentation about `arrow::Status`.</span> |
| <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">data_row</span><span class="o">&</span><span class="w"> </span><span class="n">row</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">rows</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">id_builder</span><span class="p">.</span><span class="n">Append</span><span class="p">(</span><span class="n">row</span><span class="p">.</span><span class="n">id</span><span class="p">));</span> |
| <span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">components_builder</span><span class="p">.</span><span class="n">Append</span><span class="p">(</span><span class="n">row</span><span class="p">.</span><span class="n">components</span><span class="p">));</span> |
| |
| <span class="w"> </span><span class="c1">// Indicate the start of a new list row. This will memorise the current</span> |
| <span class="w"> </span><span class="c1">// offset in the values builder.</span> |
| <span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">component_cost_builder</span><span class="p">.</span><span class="n">Append</span><span class="p">());</span> |
| <span class="w"> </span><span class="c1">// Store the actual values. The same memory layout is</span> |
| <span class="w"> </span><span class="c1">// used for the component cost data, in this case a vector of</span> |
| <span class="w"> </span><span class="c1">// type double, as for the memory that Arrow uses to hold this</span> |
| <span class="w"> </span><span class="c1">// data and will be created.</span> |
| <span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">component_item_cost_builder</span><span class="o">-></span><span class="n">AppendValues</span><span class="p">(</span> |
| <span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="n">component_cost</span><span class="p">.</span><span class="n">data</span><span class="p">(),</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="n">component_cost</span><span class="p">.</span><span class="n">size</span><span class="p">()));</span> |
| <span class="w"> </span><span class="p">}</span> |
| |
| <span class="w"> </span><span class="c1">// At the end, we finalise the arrays, declare the (type) schema and combine them</span> |
| <span class="w"> </span><span class="c1">// into a single `arrow::Table`:</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Array</span><span class="o">></span><span class="w"> </span><span class="n">id_array</span><span class="p">;</span> |
| <span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">id_builder</span><span class="p">.</span><span class="n">Finish</span><span class="p">(</span><span class="o">&</span><span class="n">id_array</span><span class="p">));</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Array</span><span class="o">></span><span class="w"> </span><span class="n">components_array</span><span class="p">;</span> |
| <span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">components_builder</span><span class="p">.</span><span class="n">Finish</span><span class="p">(</span><span class="o">&</span><span class="n">components_array</span><span class="p">));</span> |
| <span class="w"> </span><span class="c1">// No need to invoke component_item_cost_builder.Finish because it is implied by</span> |
| <span class="w"> </span><span class="c1">// the parent builder's Finish invocation.</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Array</span><span class="o">></span><span class="w"> </span><span class="n">component_cost_array</span><span class="p">;</span> |
| <span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">component_cost_builder</span><span class="p">.</span><span class="n">Finish</span><span class="p">(</span><span class="o">&</span><span class="n">component_cost_array</span><span class="p">));</span> |
| |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Field</span><span class="o">>></span><span class="w"> </span><span class="n">schema_vector</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">field</span><span class="p">(</span><span class="s">"id"</span><span class="p">,</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">int64</span><span class="p">()),</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">field</span><span class="p">(</span><span class="s">"components"</span><span class="p">,</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">int64</span><span class="p">()),</span> |
| <span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">field</span><span class="p">(</span><span class="s">"component_cost"</span><span class="p">,</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">list</span><span class="p">(</span><span class="n">arrow</span><span class="o">::</span><span class="n">float64</span><span class="p">()))};</span> |
| |
| <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">schema</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_shared</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Schema</span><span class="o">></span><span class="p">(</span><span class="n">schema_vector</span><span class="p">);</span> |
| |
| <span class="w"> </span><span class="c1">// The final `table` variable is the one we can then pass on to other functions</span> |
| <span class="w"> </span><span class="c1">// that can consume Apache Arrow memory structures. This object has ownership of</span> |
| <span class="w"> </span><span class="c1">// all referenced data, thus we don't have to care about undefined references once</span> |
| <span class="w"> </span><span class="c1">// we leave the scope of the function building the table and its underlying arrays.</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Table</span><span class="o">></span><span class="w"> </span><span class="n">table</span><span class="w"> </span><span class="o">=</span> |
| <span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Table</span><span class="o">::</span><span class="n">Make</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="n">id_array</span><span class="p">,</span><span class="w"> </span><span class="n">components_array</span><span class="p">,</span><span class="w"> </span><span class="n">component_cost_array</span><span class="p">});</span> |
| |
| <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">table</span><span class="p">;</span> |
| <span class="p">}</span> |
| |
| <span class="n">arrow</span><span class="o">::</span><span class="n">Result</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">data_row</span><span class="o">>></span><span class="w"> </span><span class="n">ColumnarTableToVector</span><span class="p">(</span> |
| <span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Table</span><span class="o">>&</span><span class="w"> </span><span class="n">table</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="c1">// To convert an Arrow table back into the same row-wise representation as in the</span> |
| <span class="w"> </span><span class="c1">// above section, we first will check that the table conforms to our expected</span> |
| <span class="w"> </span><span class="c1">// schema and then will build up the vector of rows incrementally.</span> |
| <span class="w"> </span><span class="c1">//</span> |
| <span class="w"> </span><span class="c1">// For the check if the table is as expected, we can utilise solely its schema.</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Field</span><span class="o">>></span><span class="w"> </span><span class="n">schema_vector</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">field</span><span class="p">(</span><span class="s">"id"</span><span class="p">,</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">int64</span><span class="p">()),</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">field</span><span class="p">(</span><span class="s">"components"</span><span class="p">,</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">int64</span><span class="p">()),</span> |
| <span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">field</span><span class="p">(</span><span class="s">"component_cost"</span><span class="p">,</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">list</span><span class="p">(</span><span class="n">arrow</span><span class="o">::</span><span class="n">float64</span><span class="p">()))};</span> |
| <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">expected_schema</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_shared</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Schema</span><span class="o">></span><span class="p">(</span><span class="n">schema_vector</span><span class="p">);</span> |
| |
| <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">expected_schema</span><span class="o">-></span><span class="n">Equals</span><span class="p">(</span><span class="o">*</span><span class="n">table</span><span class="o">-></span><span class="n">schema</span><span class="p">()))</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="c1">// The table doesn't have the expected schema thus we cannot directly</span> |
| <span class="w"> </span><span class="c1">// convert it to our target representation.</span> |
| <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">Invalid</span><span class="p">(</span><span class="s">"Schemas are not matching!"</span><span class="p">);</span> |
| <span class="w"> </span><span class="p">}</span> |
| |
| <span class="w"> </span><span class="c1">// As we have ensured that the table has the expected structure, we can unpack the</span> |
| <span class="w"> </span><span class="c1">// underlying arrays. For the primitive columns `id` and `components` we can use the</span> |
| <span class="w"> </span><span class="c1">// high level functions to get the values whereas for the nested column</span> |
| <span class="w"> </span><span class="c1">// `component_costs` we need to access the C-pointer to the data to copy its</span> |
| <span class="w"> </span><span class="c1">// contents into the resulting `std::vector<double>`. Here we need to be careful to</span> |
| <span class="w"> </span><span class="c1">// also add the offset to the pointer. This offset is needed to enable zero-copy</span> |
| <span class="w"> </span><span class="c1">// slicing operations. While this could be adjusted automatically for double</span> |
| <span class="w"> </span><span class="c1">// arrays, this cannot be done for the accompanying bitmap as often the slicing</span> |
| <span class="w"> </span><span class="c1">// border would be inside a byte.</span> |
| |
| <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">ids</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">static_pointer_cast</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Int64Array</span><span class="o">></span><span class="p">(</span><span class="n">table</span><span class="o">-></span><span class="n">column</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="o">-></span><span class="n">chunk</span><span class="p">(</span><span class="mi">0</span><span class="p">));</span> |
| <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">components</span><span class="w"> </span><span class="o">=</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">static_pointer_cast</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Int64Array</span><span class="o">></span><span class="p">(</span><span class="n">table</span><span class="o">-></span><span class="n">column</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span><span class="o">-></span><span class="n">chunk</span><span class="p">(</span><span class="mi">0</span><span class="p">));</span> |
| <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">component_cost</span><span class="w"> </span><span class="o">=</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">static_pointer_cast</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">ListArray</span><span class="o">></span><span class="p">(</span><span class="n">table</span><span class="o">-></span><span class="n">column</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span><span class="o">-></span><span class="n">chunk</span><span class="p">(</span><span class="mi">0</span><span class="p">));</span> |
| <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">component_cost_values</span><span class="w"> </span><span class="o">=</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">static_pointer_cast</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">DoubleArray</span><span class="o">></span><span class="p">(</span><span class="n">component_cost</span><span class="o">-></span><span class="n">values</span><span class="p">());</span> |
| <span class="w"> </span><span class="c1">// To enable zero-copy slices, the native values pointer might need to account</span> |
| <span class="w"> </span><span class="c1">// for this slicing offset. This is not needed for the higher level functions</span> |
| <span class="w"> </span><span class="c1">// like Value(…) that already account for this offset internally.</span> |
| <span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">double</span><span class="o">*</span><span class="w"> </span><span class="n">ccv_ptr</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">component_cost_values</span><span class="o">-></span><span class="n">raw_values</span><span class="p">();</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">data_row</span><span class="o">></span><span class="w"> </span><span class="n">rows</span><span class="p">;</span> |
| <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int64_t</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">table</span><span class="o">-></span><span class="n">num_rows</span><span class="p">();</span><span class="w"> </span><span class="n">i</span><span class="o">++</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="c1">// Another simplification in this example is that we assume that there are</span> |
| <span class="w"> </span><span class="c1">// no null entries, e.g. each row is fill with valid values.</span> |
| <span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="n">id</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ids</span><span class="o">-></span><span class="n">Value</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> |
| <span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="n">component</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">components</span><span class="o">-></span><span class="n">Value</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> |
| <span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">double</span><span class="o">*</span><span class="w"> </span><span class="n">first</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ccv_ptr</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">component_cost</span><span class="o">-></span><span class="n">value_offset</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> |
| <span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="kt">double</span><span class="o">*</span><span class="w"> </span><span class="n">last</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">ccv_ptr</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="n">component_cost</span><span class="o">-></span><span class="n">value_offset</span><span class="p">(</span><span class="n">i</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="kt">double</span><span class="o">></span><span class="w"> </span><span class="n">components_vec</span><span class="p">(</span><span class="n">first</span><span class="p">,</span><span class="w"> </span><span class="n">last</span><span class="p">);</span> |
| <span class="w"> </span><span class="n">rows</span><span class="p">.</span><span class="n">push_back</span><span class="p">({</span><span class="n">id</span><span class="p">,</span><span class="w"> </span><span class="n">component</span><span class="p">,</span><span class="w"> </span><span class="n">components_vec</span><span class="p">});</span> |
| <span class="w"> </span><span class="p">}</span> |
| |
| <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">rows</span><span class="p">;</span> |
| <span class="p">}</span> |
| |
| <span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">RunRowConversion</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">data_row</span><span class="o">></span><span class="w"> </span><span class="n">original_rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="p">{</span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="mi">1</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mf">10.0</span><span class="p">}},</span><span class="w"> </span><span class="p">{</span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mf">11.0</span><span class="p">,</span><span class="w"> </span><span class="mf">12.0</span><span class="p">,</span><span class="w"> </span><span class="mf">13.0</span><span class="p">}},</span><span class="w"> </span><span class="p">{</span><span class="mi">3</span><span class="p">,</span><span class="w"> </span><span class="mi">2</span><span class="p">,</span><span class="w"> </span><span class="p">{</span><span class="mf">15.0</span><span class="p">,</span><span class="w"> </span><span class="mf">25.0</span><span class="p">}}};</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Table</span><span class="o">></span><span class="w"> </span><span class="n">table</span><span class="p">;</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">data_row</span><span class="o">></span><span class="w"> </span><span class="n">converted_rows</span><span class="p">;</span> |
| |
| <span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span><span class="n">table</span><span class="p">,</span><span class="w"> </span><span class="n">VectorToColumnarTable</span><span class="p">(</span><span class="n">original_rows</span><span class="p">));</span> |
| |
| <span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span><span class="n">converted_rows</span><span class="p">,</span><span class="w"> </span><span class="n">ColumnarTableToVector</span><span class="p">(</span><span class="n">table</span><span class="p">));</span> |
| |
| <span class="w"> </span><span class="n">assert</span><span class="p">(</span><span class="n">original_rows</span><span class="p">.</span><span class="n">size</span><span class="p">()</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">converted_rows</span><span class="p">.</span><span class="n">size</span><span class="p">());</span> |
| |
| <span class="w"> </span><span class="c1">// Print out contents of table, should get</span> |
| <span class="w"> </span><span class="c1">// ID Components Component prices</span> |
| <span class="w"> </span><span class="c1">// 1 1 10</span> |
| <span class="w"> </span><span class="c1">// 2 3 11 12 13</span> |
| <span class="w"> </span><span class="c1">// 3 2 15 25</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">left</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">setw</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"ID "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">left</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">setw</span><span class="p">(</span><span class="mi">11</span><span class="p">)</span> |
| <span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"Components "</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">left</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">setw</span><span class="p">(</span><span class="mi">15</span><span class="p">)</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="s">"Component prices "</span> |
| <span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span> |
| <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="o">&</span><span class="w"> </span><span class="n">row</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">converted_rows</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">left</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">setw</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="n">id</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">left</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">setw</span><span class="p">(</span><span class="mi">11</span><span class="p">)</span> |
| <span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="n">components</span><span class="p">;</span> |
| <span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="o">&</span><span class="w"> </span><span class="n">cost</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">row</span><span class="p">.</span><span class="n">component_cost</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">left</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">setw</span><span class="p">(</span><span class="mi">4</span><span class="p">)</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">cost</span><span class="p">;</span> |
| <span class="w"> </span><span class="p">}</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cout</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span> |
| <span class="w"> </span><span class="p">}</span> |
| <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="p">}</span> |
| |
| <span class="kt">int</span><span class="w"> </span><span class="n">main</span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">argc</span><span class="p">,</span><span class="w"> </span><span class="kt">char</span><span class="o">**</span><span class="w"> </span><span class="n">argv</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">status</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">RunRowConversion</span><span class="p">();</span> |
| <span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">status</span><span class="p">.</span><span class="n">ok</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">cerr</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">status</span><span class="p">.</span><span class="n">ToString</span><span class="p">()</span><span class="w"> </span><span class="o"><<</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">endl</span><span class="p">;</span> |
| <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">EXIT_FAILURE</span><span class="p">;</span> |
| <span class="w"> </span><span class="p">}</span> |
| <span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">EXIT_SUCCESS</span><span class="p">;</span> |
| <span class="p">}</span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="dynamic-schemas"> |
| <h2>Dynamic Schemas<a class="headerlink" href="#dynamic-schemas" title="Permalink to this heading">¶</a></h2> |
| <p>In many cases, we need to convert to and from row data that does not have a |
| schema known at compile time. To help implement these conversions, this library |
| provides several utilities:</p> |
| <ul class="simple"> |
| <li><p><a class="reference internal" href="../api/builder.html#_CPPv4N5arrow18RecordBatchBuilderE" title="arrow::RecordBatchBuilder"><code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">arrow::RecordBatchBuilder</span></code></a>: creates and manages array builders for |
| a full record batch.</p></li> |
| <li><p><a class="reference internal" href="../api/utilities.html#_CPPv4I0DpEN5arrow15VisitTypeInlineE6StatusRK8DataTypeP7VISITORDpRR4ARGS" title="arrow::VisitTypeInline"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">arrow::VisitTypeInline()</span></code></a>: dispatch to functions specialized for the given |
| array type.</p></li> |
| <li><p><a class="reference internal" href="../api/utilities.html#type-traits"><span class="std std-ref">Type Traits</span></a> (such as <code class="docutils literal notranslate"><span class="pre">arrow::enable_if_primitive_ctype</span></code>): narrow template |
| functions to specific Arrow types, useful in conjunction with |
| the <a class="reference internal" href="../datatypes.html#cpp-visitor-pattern"><span class="std std-ref">Visitor Pattern</span></a>.</p></li> |
| <li><p><a class="reference internal" href="../api/table.html#_CPPv4N5arrow16TableBatchReaderE" title="arrow::TableBatchReader"><code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">arrow::TableBatchReader</span></code></a>: read a table in a batch at a time, with each |
| batch being a zero-copy slice.</p></li> |
| </ul> |
| <p>The following example shows how to implement conversion between <code class="docutils literal notranslate"><span class="pre">rapidjson::Document</span></code> |
| and Arrow objects. You can read the full code example at |
| <a class="reference external" href="https://github.com/apache/arrow/blob/main/cpp/examples/arrow/rapidjson_row_converter.cc">https://github.com/apache/arrow/blob/main/cpp/examples/arrow/rapidjson_row_converter.cc</a></p> |
| <section id="writing-conversions-to-arrow"> |
| <h3>Writing conversions to Arrow<a class="headerlink" href="#writing-conversions-to-arrow" title="Permalink to this heading">¶</a></h3> |
| <p>To convert rows to Arrow record batches, we’ll setup Array builders for all the columns |
| and then for each field iterate through row values and append to the builders. |
| We assume that we already know the target schema, which may have |
| been provided by another system or was inferred in another function. Inferring |
| the schema <em>during</em> conversion is a challenging proposition; many systems will |
| check the first N rows to infer a schema if there is none already available.</p> |
| <p>At the top level, we define a function <code class="docutils literal notranslate"><span class="pre">ConvertToRecordBatch</span></code>:</p> |
| <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="linenos">495</span><span class="n">arrow</span><span class="o">::</span><span class="n">Result</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">RecordBatch</span><span class="o">>></span><span class="w"> </span><span class="n">ConvertToRecordBatch</span><span class="p">(</span> |
| <span class="linenos">496</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">>&</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Schema</span><span class="o">></span><span class="w"> </span><span class="n">schema</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">497</span><span class="w"> </span><span class="c1">// RecordBatchBuilder will create array builders for us for each field in our</span> |
| <span class="linenos">498</span><span class="w"> </span><span class="c1">// schema. By passing the number of output rows (`rows.size()`) we can</span> |
| <span class="linenos">499</span><span class="w"> </span><span class="c1">// pre-allocate the correct size of arrays, except of course in the case of</span> |
| <span class="linenos">500</span><span class="w"> </span><span class="c1">// string, byte, and list arrays, which have dynamic lengths.</span> |
| <span class="linenos">501</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">RecordBatchBuilder</span><span class="o">></span><span class="w"> </span><span class="n">batch_builder</span><span class="p">;</span> |
| <span class="linenos">502</span><span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span> |
| <span class="linenos">503</span><span class="w"> </span><span class="n">batch_builder</span><span class="p">,</span> |
| <span class="linenos">504</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">RecordBatchBuilder</span><span class="o">::</span><span class="n">Make</span><span class="p">(</span><span class="n">schema</span><span class="p">,</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">default_memory_pool</span><span class="p">(),</span><span class="w"> </span><span class="n">rows</span><span class="p">.</span><span class="n">size</span><span class="p">()));</span> |
| <span class="linenos">505</span> |
| <span class="linenos">506</span><span class="w"> </span><span class="c1">// Inner converter will take rows and be responsible for appending values</span> |
| <span class="linenos">507</span><span class="w"> </span><span class="c1">// to provided array builders.</span> |
| <span class="linenos">508</span><span class="w"> </span><span class="n">JsonValueConverter</span><span class="w"> </span><span class="nf">converter</span><span class="p">(</span><span class="n">rows</span><span class="p">);</span> |
| <span class="linenos">509</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">batch_builder</span><span class="o">-></span><span class="n">num_fields</span><span class="p">();</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">510</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Field</span><span class="o">></span><span class="w"> </span><span class="n">field</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">schema</span><span class="o">-></span><span class="n">field</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> |
| <span class="linenos">511</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">ArrayBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">builder</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">batch_builder</span><span class="o">-></span><span class="n">GetField</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> |
| <span class="linenos">512</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">converter</span><span class="p">.</span><span class="n">Convert</span><span class="p">(</span><span class="o">*</span><span class="n">field</span><span class="p">.</span><span class="n">get</span><span class="p">(),</span><span class="w"> </span><span class="n">builder</span><span class="p">));</span> |
| <span class="linenos">513</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">514</span> |
| <span class="linenos">515</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">RecordBatch</span><span class="o">></span><span class="w"> </span><span class="n">batch</span><span class="p">;</span> |
| <span class="linenos">516</span><span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span><span class="n">batch</span><span class="p">,</span><span class="w"> </span><span class="n">batch_builder</span><span class="o">-></span><span class="n">Flush</span><span class="p">());</span> |
| <span class="linenos">517</span> |
| <span class="linenos">518</span><span class="w"> </span><span class="c1">// Use RecordBatch::ValidateFull() to make sure arrays were correctly constructed.</span> |
| <span class="linenos">519</span><span class="w"> </span><span class="n">DCHECK_OK</span><span class="p">(</span><span class="n">batch</span><span class="o">-></span><span class="n">ValidateFull</span><span class="p">());</span> |
| <span class="linenos">520</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">batch</span><span class="p">;</span> |
| <span class="linenos">521</span><span class="p">}</span><span class="w"> </span><span class="c1">// ConvertToRecordBatch</span> |
| </pre></div> |
| </div> |
| <p>First we use <a class="reference internal" href="../api/builder.html#_CPPv4N5arrow18RecordBatchBuilderE" title="arrow::RecordBatchBuilder"><code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">arrow::RecordBatchBuilder</span></code></a>, which conveniently creates builders |
| for each field in the schema. Then we iterate over the fields of the schema, get |
| the builder, and call <code class="docutils literal notranslate"><span class="pre">Convert()</span></code> on our <code class="docutils literal notranslate"><span class="pre">JsonValueConverter</span></code> (to be discussed |
| next). At the end, we call <code class="docutils literal notranslate"><span class="pre">batch->ValidateFull()</span></code>, which checks the integrity |
| of our arrays to make sure the conversion was performed correctly, which is useful |
| for debugging new conversion implementations.</p> |
| <p>One level down, the <code class="docutils literal notranslate"><span class="pre">JsonValueConverter</span></code> is responsible for appending row values |
| for the provided field to a provided array builder. In order to specialize logic |
| for each data type, it implements <code class="docutils literal notranslate"><span class="pre">Visit</span></code> methods and calls <a class="reference internal" href="../api/utilities.html#_CPPv4I0DpEN5arrow15VisitTypeInlineE6StatusRK8DataTypeP7VISITORDpRR4ARGS" title="arrow::VisitTypeInline"><code class="xref cpp cpp-func docutils literal notranslate"><span class="pre">arrow::VisitTypeInline()</span></code></a>. |
| (See more about type visitors in <a class="reference internal" href="../datatypes.html#cpp-visitor-pattern"><span class="std std-ref">Visitor Pattern</span></a>.)</p> |
| <p>At the end of that class is the private method <code class="docutils literal notranslate"><span class="pre">FieldValues()</span></code>, which returns |
| an iterator of the column values for the current field across the rows. In |
| row-based structures that are flat (such as a vector of values) this may be |
| trivial to implement. But if the schema is nested, as in the case of JSON documents, |
| a special iterator is needed to navigate the levels of nesting. See the |
| <a class="reference external" href="https://github.com/apache/arrow/blob/main/cpp/examples/arrow/rapidjson_row_converter.cc">full example</a> |
| for the implementation details of <code class="docutils literal notranslate"><span class="pre">DocValuesIterator</span></code>.</p> |
| <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="linenos">323</span><span class="k">class</span><span class="w"> </span><span class="nc">JsonValueConverter</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">324</span><span class="w"> </span><span class="k">public</span><span class="o">:</span> |
| <span class="linenos">325</span><span class="w"> </span><span class="k">explicit</span><span class="w"> </span><span class="n">JsonValueConverter</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">>&</span><span class="w"> </span><span class="n">rows</span><span class="p">)</span> |
| <span class="linenos">326</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">rows_</span><span class="p">(</span><span class="n">rows</span><span class="p">),</span><span class="w"> </span><span class="n">array_levels_</span><span class="p">(</span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{}</span> |
| <span class="linenos">327</span> |
| <span class="linenos">328</span><span class="w"> </span><span class="n">JsonValueConverter</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">>&</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span> |
| <span class="linenos">329</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="o">>&</span><span class="w"> </span><span class="n">root_path</span><span class="p">,</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="n">array_levels</span><span class="p">)</span> |
| <span class="linenos">330</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">rows_</span><span class="p">(</span><span class="n">rows</span><span class="p">),</span><span class="w"> </span><span class="n">root_path_</span><span class="p">(</span><span class="n">root_path</span><span class="p">),</span><span class="w"> </span><span class="n">array_levels_</span><span class="p">(</span><span class="n">array_levels</span><span class="p">)</span><span class="w"> </span><span class="p">{}</span> |
| <span class="linenos">331</span> |
| <span class="linenos">332</span><span class="w"> </span><span class="c1">/// \brief For field passed in, append corresponding values to builder</span> |
| <span class="linenos">333</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Convert</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Field</span><span class="o">&</span><span class="w"> </span><span class="n">field</span><span class="p">,</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">ArrayBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">builder</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">334</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">Convert</span><span class="p">(</span><span class="n">field</span><span class="p">,</span><span class="w"> </span><span class="n">field</span><span class="p">.</span><span class="n">name</span><span class="p">(),</span><span class="w"> </span><span class="n">builder</span><span class="p">);</span> |
| <span class="linenos">335</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">336</span> |
| <span class="linenos">337</span><span class="w"> </span><span class="c1">/// \brief For field passed in, append corresponding values to builder</span> |
| <span class="linenos">338</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Convert</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Field</span><span class="o">&</span><span class="w"> </span><span class="n">field</span><span class="p">,</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="o">&</span><span class="w"> </span><span class="n">field_name</span><span class="p">,</span> |
| <span class="linenos">339</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">ArrayBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">builder</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">340</span><span class="w"> </span><span class="n">field_name_</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">field_name</span><span class="p">;</span> |
| <span class="linenos">341</span><span class="w"> </span><span class="n">builder_</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">builder</span><span class="p">;</span> |
| <span class="linenos">342</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">arrow</span><span class="o">::</span><span class="n">VisitTypeInline</span><span class="p">(</span><span class="o">*</span><span class="n">field</span><span class="p">.</span><span class="n">type</span><span class="p">().</span><span class="n">get</span><span class="p">(),</span><span class="w"> </span><span class="k">this</span><span class="p">));</span> |
| <span class="linenos">343</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="linenos">344</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">345</span> |
| <span class="linenos">346</span><span class="w"> </span><span class="c1">// Default implementation</span> |
| <span class="linenos">347</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">DataType</span><span class="o">&</span><span class="w"> </span><span class="n">type</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">348</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">NotImplemented</span><span class="p">(</span> |
| <span class="linenos">349</span><span class="w"> </span><span class="s">"Can not convert json value to Arrow array of type "</span><span class="p">,</span><span class="w"> </span><span class="n">type</span><span class="p">.</span><span class="n">ToString</span><span class="p">());</span> |
| <span class="linenos">350</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">351</span> |
| <span class="linenos">352</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Int64Type</span><span class="o">&</span><span class="w"> </span><span class="n">type</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">353</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Int64Builder</span><span class="o">*</span><span class="w"> </span><span class="n">builder</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">static_cast</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Int64Builder</span><span class="o">*></span><span class="p">(</span><span class="n">builder_</span><span class="p">);</span> |
| <span class="linenos">354</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="o">&</span><span class="w"> </span><span class="n">maybe_value</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">FieldValues</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">355</span><span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span><span class="k">auto</span><span class="w"> </span><span class="n">value</span><span class="p">,</span><span class="w"> </span><span class="n">maybe_value</span><span class="p">);</span> |
| <span class="linenos">356</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">IsNull</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">357</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">AppendNull</span><span class="p">());</span> |
| <span class="linenos">358</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">359</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">IsUint</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">360</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">Append</span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">GetUint</span><span class="p">()));</span> |
| <span class="linenos">361</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">IsInt</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">362</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">Append</span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">GetInt</span><span class="p">()));</span> |
| <span class="linenos">363</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">IsUint64</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">364</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">Append</span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">GetUint64</span><span class="p">()));</span> |
| <span class="linenos">365</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">IsInt64</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">366</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">Append</span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">GetInt64</span><span class="p">()));</span> |
| <span class="linenos">367</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">368</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">Invalid</span><span class="p">(</span><span class="s">"Value is not an integer"</span><span class="p">);</span> |
| <span class="linenos">369</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">370</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">371</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">372</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="linenos">373</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">374</span> |
| <span class="linenos">375</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">DoubleType</span><span class="o">&</span><span class="w"> </span><span class="n">type</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">376</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">DoubleBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">builder</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">static_cast</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">DoubleBuilder</span><span class="o">*></span><span class="p">(</span><span class="n">builder_</span><span class="p">);</span> |
| <span class="linenos">377</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="o">&</span><span class="w"> </span><span class="n">maybe_value</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">FieldValues</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">378</span><span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span><span class="k">auto</span><span class="w"> </span><span class="n">value</span><span class="p">,</span><span class="w"> </span><span class="n">maybe_value</span><span class="p">);</span> |
| <span class="linenos">379</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">IsNull</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">380</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">AppendNull</span><span class="p">());</span> |
| <span class="linenos">381</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">382</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">Append</span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">GetDouble</span><span class="p">()));</span> |
| <span class="linenos">383</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">384</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">385</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="linenos">386</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">387</span> |
| <span class="linenos">388</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">StringType</span><span class="o">&</span><span class="w"> </span><span class="n">type</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">389</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">StringBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">builder</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">static_cast</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">StringBuilder</span><span class="o">*></span><span class="p">(</span><span class="n">builder_</span><span class="p">);</span> |
| <span class="linenos">390</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="o">&</span><span class="w"> </span><span class="n">maybe_value</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">FieldValues</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">391</span><span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span><span class="k">auto</span><span class="w"> </span><span class="n">value</span><span class="p">,</span><span class="w"> </span><span class="n">maybe_value</span><span class="p">);</span> |
| <span class="linenos">392</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">IsNull</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">393</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">AppendNull</span><span class="p">());</span> |
| <span class="linenos">394</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">395</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">Append</span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">GetString</span><span class="p">()));</span> |
| <span class="linenos">396</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">397</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">398</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="linenos">399</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">400</span> |
| <span class="linenos">401</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">BooleanType</span><span class="o">&</span><span class="w"> </span><span class="n">type</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">402</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">BooleanBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">builder</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">static_cast</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">BooleanBuilder</span><span class="o">*></span><span class="p">(</span><span class="n">builder_</span><span class="p">);</span> |
| <span class="linenos">403</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="o">&</span><span class="w"> </span><span class="n">maybe_value</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">FieldValues</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">404</span><span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span><span class="k">auto</span><span class="w"> </span><span class="n">value</span><span class="p">,</span><span class="w"> </span><span class="n">maybe_value</span><span class="p">);</span> |
| <span class="linenos">405</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">IsNull</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">406</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">AppendNull</span><span class="p">());</span> |
| <span class="linenos">407</span><span class="w"> </span><span class="p">}</span><span class="w"> </span><span class="k">else</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">408</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">Append</span><span class="p">(</span><span class="n">value</span><span class="o">-></span><span class="n">GetBool</span><span class="p">()));</span> |
| <span class="linenos">409</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">410</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">411</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="linenos">412</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">413</span> |
| <span class="linenos">414</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">StructType</span><span class="o">&</span><span class="w"> </span><span class="n">type</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">415</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">StructBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">builder</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">static_cast</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">StructBuilder</span><span class="o">*></span><span class="p">(</span><span class="n">builder_</span><span class="p">);</span> |
| <span class="linenos">416</span> |
| <span class="linenos">417</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="o">></span><span class="w"> </span><span class="n">child_path</span><span class="p">(</span><span class="n">root_path_</span><span class="p">);</span> |
| <span class="linenos">418</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">field_name_</span><span class="p">.</span><span class="n">size</span><span class="p">()</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">419</span><span class="w"> </span><span class="n">child_path</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="n">field_name_</span><span class="p">);</span> |
| <span class="linenos">420</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">421</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">child_converter</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">JsonValueConverter</span><span class="p">(</span><span class="n">rows_</span><span class="p">,</span><span class="w"> </span><span class="n">child_path</span><span class="p">,</span><span class="w"> </span><span class="n">array_levels_</span><span class="p">);</span> |
| <span class="linenos">422</span> |
| <span class="linenos">423</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">type</span><span class="p">.</span><span class="n">num_fields</span><span class="p">();</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">424</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Field</span><span class="o">></span><span class="w"> </span><span class="n">child_field</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">type</span><span class="p">.</span><span class="n">field</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> |
| <span class="linenos">425</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">ArrayBuilder</span><span class="o">></span><span class="w"> </span><span class="n">child_builder</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">builder</span><span class="o">-></span><span class="n">child_builder</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> |
| <span class="linenos">426</span> |
| <span class="linenos">427</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span> |
| <span class="linenos">428</span><span class="w"> </span><span class="n">child_converter</span><span class="p">.</span><span class="n">Convert</span><span class="p">(</span><span class="o">*</span><span class="n">child_field</span><span class="p">.</span><span class="n">get</span><span class="p">(),</span><span class="w"> </span><span class="n">child_builder</span><span class="p">.</span><span class="n">get</span><span class="p">()));</span> |
| <span class="linenos">429</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">430</span> |
| <span class="linenos">431</span><span class="w"> </span><span class="c1">// Make null bitmap</span> |
| <span class="linenos">432</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="o">&</span><span class="w"> </span><span class="n">maybe_value</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">FieldValues</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">433</span><span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span><span class="k">auto</span><span class="w"> </span><span class="n">value</span><span class="p">,</span><span class="w"> </span><span class="n">maybe_value</span><span class="p">);</span> |
| <span class="linenos">434</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">Append</span><span class="p">(</span><span class="o">!</span><span class="n">value</span><span class="o">-></span><span class="n">IsNull</span><span class="p">()));</span> |
| <span class="linenos">435</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">436</span> |
| <span class="linenos">437</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="linenos">438</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">439</span> |
| <span class="linenos">440</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">ListType</span><span class="o">&</span><span class="w"> </span><span class="n">type</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">441</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">ListBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">builder</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">static_cast</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">ListBuilder</span><span class="o">*></span><span class="p">(</span><span class="n">builder_</span><span class="p">);</span> |
| <span class="linenos">442</span> |
| <span class="linenos">443</span><span class="w"> </span><span class="c1">// Values and offsets needs to be interleaved in ListBuilder, so first collect the</span> |
| <span class="linenos">444</span><span class="w"> </span><span class="c1">// values</span> |
| <span class="linenos">445</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">unique_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">ArrayBuilder</span><span class="o">></span><span class="w"> </span><span class="n">tmp_value_builder</span><span class="p">;</span> |
| <span class="linenos">446</span><span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span><span class="n">tmp_value_builder</span><span class="p">,</span> |
| <span class="linenos">447</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">MakeBuilder</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">value_builder</span><span class="p">()</span><span class="o">-></span><span class="n">type</span><span class="p">()));</span> |
| <span class="linenos">448</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="o">></span><span class="w"> </span><span class="n">child_path</span><span class="p">(</span><span class="n">root_path_</span><span class="p">);</span> |
| <span class="linenos">449</span><span class="w"> </span><span class="n">child_path</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="n">field_name_</span><span class="p">);</span> |
| <span class="linenos">450</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">child_converter</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">JsonValueConverter</span><span class="p">(</span><span class="n">rows_</span><span class="p">,</span><span class="w"> </span><span class="n">child_path</span><span class="p">,</span><span class="w"> </span><span class="n">array_levels_</span><span class="w"> </span><span class="o">+</span><span class="w"> </span><span class="mi">1</span><span class="p">);</span> |
| <span class="linenos">451</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span> |
| <span class="linenos">452</span><span class="w"> </span><span class="n">child_converter</span><span class="p">.</span><span class="n">Convert</span><span class="p">(</span><span class="o">*</span><span class="n">type</span><span class="p">.</span><span class="n">value_field</span><span class="p">().</span><span class="n">get</span><span class="p">(),</span><span class="w"> </span><span class="s">""</span><span class="p">,</span><span class="w"> </span><span class="n">tmp_value_builder</span><span class="p">.</span><span class="n">get</span><span class="p">()));</span> |
| <span class="linenos">453</span> |
| <span class="linenos">454</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Array</span><span class="o">></span><span class="w"> </span><span class="n">values_array</span><span class="p">;</span> |
| <span class="linenos">455</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">tmp_value_builder</span><span class="o">-></span><span class="n">Finish</span><span class="p">(</span><span class="o">&</span><span class="n">values_array</span><span class="p">));</span> |
| <span class="linenos">456</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">ArrayData</span><span class="o">></span><span class="w"> </span><span class="n">values_data</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">values_array</span><span class="o">-></span><span class="n">data</span><span class="p">();</span> |
| <span class="linenos">457</span> |
| <span class="linenos">458</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">ArrayBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">value_builder</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">builder</span><span class="o">-></span><span class="n">value_builder</span><span class="p">();</span> |
| <span class="linenos">459</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="n">offset</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> |
| <span class="linenos">460</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="k">auto</span><span class="o">&</span><span class="w"> </span><span class="n">maybe_value</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">FieldValues</span><span class="p">())</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">461</span><span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span><span class="k">auto</span><span class="w"> </span><span class="n">value</span><span class="p">,</span><span class="w"> </span><span class="n">maybe_value</span><span class="p">);</span> |
| <span class="linenos">462</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">builder</span><span class="o">-></span><span class="n">Append</span><span class="p">(</span><span class="o">!</span><span class="n">value</span><span class="o">-></span><span class="n">IsNull</span><span class="p">()));</span> |
| <span class="linenos">463</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">value</span><span class="o">-></span><span class="n">IsNull</span><span class="p">()</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="n">value</span><span class="o">-></span><span class="n">Size</span><span class="p">()</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">464</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span> |
| <span class="linenos">465</span><span class="w"> </span><span class="n">value_builder</span><span class="o">-></span><span class="n">AppendArraySlice</span><span class="p">(</span><span class="o">*</span><span class="n">values_data</span><span class="p">.</span><span class="n">get</span><span class="p">(),</span><span class="w"> </span><span class="n">offset</span><span class="p">,</span><span class="w"> </span><span class="n">value</span><span class="o">-></span><span class="n">Size</span><span class="p">()));</span> |
| <span class="linenos">466</span><span class="w"> </span><span class="n">offset</span><span class="w"> </span><span class="o">+=</span><span class="w"> </span><span class="n">value</span><span class="o">-></span><span class="n">Size</span><span class="p">();</span> |
| <span class="linenos">467</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">468</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">469</span> |
| <span class="linenos">470</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="linenos">471</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">472</span> |
| <span class="linenos">473</span><span class="w"> </span><span class="k">private</span><span class="o">:</span> |
| <span class="linenos">474</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="w"> </span><span class="n">field_name_</span><span class="p">;</span> |
| <span class="linenos">475</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">ArrayBuilder</span><span class="o">*</span><span class="w"> </span><span class="n">builder_</span><span class="p">;</span> |
| <span class="linenos">476</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">>&</span><span class="w"> </span><span class="n">rows_</span><span class="p">;</span> |
| <span class="linenos">477</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="o">></span><span class="w"> </span><span class="n">root_path_</span><span class="p">;</span> |
| <span class="linenos">478</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="n">array_levels_</span><span class="p">;</span> |
| <span class="linenos">479</span> |
| <span class="linenos">480</span><span class="w"> </span><span class="c1">/// Return a flattened iterator over values at nested location</span> |
| <span class="linenos">481</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Iterator</span><span class="o"><</span><span class="k">const</span><span class="w"> </span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Value</span><span class="o">*></span><span class="w"> </span><span class="n">FieldValues</span><span class="p">()</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">482</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="o">></span><span class="w"> </span><span class="n">path</span><span class="p">(</span><span class="n">root_path_</span><span class="p">);</span> |
| <span class="linenos">483</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">field_name_</span><span class="p">.</span><span class="n">size</span><span class="p">()</span><span class="w"> </span><span class="o">></span><span class="w"> </span><span class="mi">0</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">484</span><span class="w"> </span><span class="n">path</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="n">field_name_</span><span class="p">);</span> |
| <span class="linenos">485</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">486</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">iter</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">DocValuesIterator</span><span class="p">(</span><span class="n">rows_</span><span class="p">,</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">path</span><span class="p">),</span><span class="w"> </span><span class="n">array_levels_</span><span class="p">);</span> |
| <span class="linenos">487</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">fn</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="n">iter</span><span class="p">]()</span><span class="w"> </span><span class="k">mutable</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Result</span><span class="o"><</span><span class="k">const</span><span class="w"> </span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Value</span><span class="o">*></span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">488</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">iter</span><span class="p">.</span><span class="n">Next</span><span class="p">();</span> |
| <span class="linenos">489</span><span class="w"> </span><span class="p">};</span> |
| <span class="linenos">490</span> |
| <span class="linenos">491</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">MakeFunctionIterator</span><span class="p">(</span><span class="n">fn</span><span class="p">);</span> |
| <span class="linenos">492</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">493</span><span class="p">};</span><span class="w"> </span><span class="c1">// JsonValueConverter</span> |
| </pre></div> |
| </div> |
| </section> |
| <section id="writing-conversions-from-arrow"> |
| <h3>Writing conversions from Arrow<a class="headerlink" href="#writing-conversions-from-arrow" title="Permalink to this heading">¶</a></h3> |
| <p>To convert into rows <em>from</em> Arrow record batches, we’ll process the table in |
| smaller batches, visiting each field of the batch and filling the output rows |
| column-by-column.</p> |
| <p>At the top-level, we define <code class="docutils literal notranslate"><span class="pre">ArrowToDocumentConverter</span></code> that provides the API |
| for converting Arrow batches and tables to rows. In many cases, it’s more optimal |
| to perform conversions to rows in smaller batches, rather than doing the entire |
| table at once. So we define one <code class="docutils literal notranslate"><span class="pre">ConvertToVector</span></code> method to convert a single |
| batch, then in the other conversion method we use <a class="reference internal" href="../api/table.html#_CPPv4N5arrow16TableBatchReaderE" title="arrow::TableBatchReader"><code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">arrow::TableBatchReader</span></code></a> |
| to iterate over slices of a table. This returns Arrow’s iterator type |
| (<a class="reference internal" href="../api/utilities.html#_CPPv4I0EN5arrow8IteratorE" title="arrow::Iterator"><code class="xref cpp cpp-class docutils literal notranslate"><span class="pre">arrow::Iterator</span></code></a>) so rows could then be processed either one-at-a-time |
| or be collected into a container.</p> |
| <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="linenos">179</span><span class="k">class</span><span class="w"> </span><span class="nc">ArrowToDocumentConverter</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">180</span><span class="w"> </span><span class="k">public</span><span class="o">:</span> |
| <span class="linenos">181</span><span class="w"> </span><span class="c1">/// Convert a single batch of Arrow data into Documents</span> |
| <span class="linenos">182</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Result</span><span class="o"><</span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">>></span><span class="w"> </span><span class="n">ConvertToVector</span><span class="p">(</span> |
| <span class="linenos">183</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">RecordBatch</span><span class="o">></span><span class="w"> </span><span class="n">batch</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">184</span><span class="w"> </span><span class="n">RowBatchBuilder</span><span class="w"> </span><span class="n">builder</span><span class="p">{</span><span class="n">batch</span><span class="o">-></span><span class="n">num_rows</span><span class="p">()};</span> |
| <span class="linenos">185</span> |
| <span class="linenos">186</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">batch</span><span class="o">-></span><span class="n">num_columns</span><span class="p">();</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">187</span><span class="w"> </span><span class="n">builder</span><span class="p">.</span><span class="n">SetField</span><span class="p">(</span><span class="n">batch</span><span class="o">-></span><span class="n">schema</span><span class="p">()</span><span class="o">-></span><span class="n">field</span><span class="p">(</span><span class="n">i</span><span class="p">).</span><span class="n">get</span><span class="p">());</span> |
| <span class="linenos">188</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">arrow</span><span class="o">::</span><span class="n">VisitArrayInline</span><span class="p">(</span><span class="o">*</span><span class="n">batch</span><span class="o">-></span><span class="n">column</span><span class="p">(</span><span class="n">i</span><span class="p">).</span><span class="n">get</span><span class="p">(),</span><span class="w"> </span><span class="o">&</span><span class="n">builder</span><span class="p">));</span> |
| <span class="linenos">189</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">190</span> |
| <span class="linenos">191</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">builder</span><span class="p">).</span><span class="n">Rows</span><span class="p">();</span> |
| <span class="linenos">192</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">193</span> |
| <span class="linenos">194</span><span class="w"> </span><span class="c1">/// Convert an Arrow table into an iterator of Documents</span> |
| <span class="linenos">195</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Iterator</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">></span><span class="w"> </span><span class="n">ConvertToIterator</span><span class="p">(</span> |
| <span class="linenos">196</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Table</span><span class="o">></span><span class="w"> </span><span class="n">table</span><span class="p">,</span><span class="w"> </span><span class="kt">size_t</span><span class="w"> </span><span class="n">batch_size</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">197</span><span class="w"> </span><span class="c1">// Use TableBatchReader to divide table into smaller batches. The batches</span> |
| <span class="linenos">198</span><span class="w"> </span><span class="c1">// created are zero-copy slices with *at most* `batch_size` rows.</span> |
| <span class="linenos">199</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">batch_reader</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">make_shared</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">TableBatchReader</span><span class="o">></span><span class="p">(</span><span class="o">*</span><span class="n">table</span><span class="p">);</span> |
| <span class="linenos">200</span><span class="w"> </span><span class="n">batch_reader</span><span class="o">-></span><span class="n">set_chunksize</span><span class="p">(</span><span class="n">batch_size</span><span class="p">);</span> |
| <span class="linenos">201</span> |
| <span class="linenos">202</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">read_batch</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="p">[</span><span class="k">this</span><span class="p">](</span><span class="k">const</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">RecordBatch</span><span class="o">>&</span><span class="w"> </span><span class="n">batch</span><span class="p">)</span> |
| <span class="linenos">203</span><span class="w"> </span><span class="o">-></span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Result</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Iterator</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">>></span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">204</span><span class="w"> </span><span class="n">ARROW_ASSIGN_OR_RAISE</span><span class="p">(</span><span class="k">auto</span><span class="w"> </span><span class="n">rows</span><span class="p">,</span><span class="w"> </span><span class="n">ConvertToVector</span><span class="p">(</span><span class="n">batch</span><span class="p">));</span> |
| <span class="linenos">205</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">MakeVectorIterator</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">rows</span><span class="p">));</span> |
| <span class="linenos">206</span><span class="w"> </span><span class="p">};</span> |
| <span class="linenos">207</span> |
| <span class="linenos">208</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">nested_iter</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">MakeMaybeMapIterator</span><span class="p">(</span> |
| <span class="linenos">209</span><span class="w"> </span><span class="n">read_batch</span><span class="p">,</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">MakeIteratorFromReader</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">batch_reader</span><span class="p">)));</span> |
| <span class="linenos">210</span> |
| <span class="linenos">211</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">MakeFlattenIterator</span><span class="p">(</span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">nested_iter</span><span class="p">));</span> |
| <span class="linenos">212</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">213</span><span class="p">};</span><span class="w"> </span><span class="c1">// ArrowToDocumentConverter</span> |
| </pre></div> |
| </div> |
| <p>One level down, the output rows are filled in by <code class="docutils literal notranslate"><span class="pre">RowBatchBuilder</span></code>. |
| The <code class="docutils literal notranslate"><span class="pre">RowBatchBuilder</span></code> implements <code class="docutils literal notranslate"><span class="pre">Visit()</span></code> methods, but to save on code we |
| write a template method for array types that have primitive C equivalents |
| (booleans, integers, and floats) using <code class="docutils literal notranslate"><span class="pre">arrow::enable_if_primitive_ctype</span></code>. |
| See <a class="reference internal" href="../api/utilities.html#type-traits"><span class="std std-ref">Type Traits</span></a> for other type predicates.</p> |
| <div class="highlight-cpp notranslate"><div class="highlight"><pre><span></span><span class="linenos"> 57</span><span class="k">class</span><span class="w"> </span><span class="nc">RowBatchBuilder</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos"> 58</span><span class="w"> </span><span class="k">public</span><span class="o">:</span> |
| <span class="linenos"> 59</span><span class="w"> </span><span class="k">explicit</span><span class="w"> </span><span class="n">RowBatchBuilder</span><span class="p">(</span><span class="kt">int64_t</span><span class="w"> </span><span class="n">num_rows</span><span class="p">)</span><span class="w"> </span><span class="o">:</span><span class="w"> </span><span class="n">field_</span><span class="p">(</span><span class="k">nullptr</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos"> 60</span><span class="w"> </span><span class="c1">// Reserve all of the space required up-front to avoid unnecessary resizing</span> |
| <span class="linenos"> 61</span><span class="w"> </span><span class="n">rows_</span><span class="p">.</span><span class="n">reserve</span><span class="p">(</span><span class="n">num_rows</span><span class="p">);</span> |
| <span class="linenos"> 62</span> |
| <span class="linenos"> 63</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int64_t</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">num_rows</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos"> 64</span><span class="w"> </span><span class="n">rows_</span><span class="p">.</span><span class="n">push_back</span><span class="p">(</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="p">());</span> |
| <span class="linenos"> 65</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">SetObject</span><span class="p">();</span> |
| <span class="linenos"> 66</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos"> 67</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos"> 68</span> |
| <span class="linenos"> 69</span><span class="w"> </span><span class="c1">/// \brief Set which field to convert.</span> |
| <span class="linenos"> 70</span><span class="w"> </span><span class="kt">void</span><span class="w"> </span><span class="n">SetField</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Field</span><span class="o">*</span><span class="w"> </span><span class="n">field</span><span class="p">)</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="n">field_</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">field</span><span class="p">;</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos"> 71</span> |
| <span class="linenos"> 72</span><span class="w"> </span><span class="c1">/// \brief Retrieve converted rows from builder.</span> |
| <span class="linenos"> 73</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">></span><span class="w"> </span><span class="n">Rows</span><span class="p">()</span><span class="w"> </span><span class="o">&&</span><span class="w"> </span><span class="p">{</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">rows_</span><span class="p">);</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos"> 74</span> |
| <span class="linenos"> 75</span><span class="w"> </span><span class="c1">// Default implementation</span> |
| <span class="linenos"> 76</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Array</span><span class="o">&</span><span class="w"> </span><span class="n">array</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos"> 77</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">NotImplemented</span><span class="p">(</span> |
| <span class="linenos"> 78</span><span class="w"> </span><span class="s">"Can not convert to json document for array of type "</span><span class="p">,</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">type</span><span class="p">()</span><span class="o">-></span><span class="n">ToString</span><span class="p">());</span> |
| <span class="linenos"> 79</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos"> 80</span> |
| <span class="linenos"> 81</span><span class="w"> </span><span class="c1">// Handles booleans, integers, floats</span> |
| <span class="linenos"> 82</span><span class="w"> </span><span class="k">template</span><span class="w"> </span><span class="o"><</span><span class="k">typename</span><span class="w"> </span><span class="nc">ArrayType</span><span class="p">,</span><span class="w"> </span><span class="k">typename</span><span class="w"> </span><span class="nc">DataClass</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="k">typename</span><span class="w"> </span><span class="nc">ArrayType</span><span class="o">::</span><span class="n">TypeClass</span><span class="o">></span> |
| <span class="linenos"> 83</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">enable_if_primitive_ctype</span><span class="o"><</span><span class="n">DataClass</span><span class="p">,</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">></span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span> |
| <span class="linenos"> 84</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">ArrayType</span><span class="o">&</span><span class="w"> </span><span class="n">array</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos"> 85</span><span class="w"> </span><span class="n">assert</span><span class="p">(</span><span class="k">static_cast</span><span class="o"><</span><span class="kt">int64_t</span><span class="o">></span><span class="p">(</span><span class="n">rows_</span><span class="p">.</span><span class="n">size</span><span class="p">())</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">length</span><span class="p">());</span> |
| <span class="linenos"> 86</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int64_t</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">length</span><span class="p">();</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos"> 87</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">array</span><span class="p">.</span><span class="n">IsNull</span><span class="p">(</span><span class="n">i</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos"> 88</span><span class="w"> </span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Value</span><span class="w"> </span><span class="nf">str_key</span><span class="p">(</span><span class="n">field_</span><span class="o">-></span><span class="n">name</span><span class="p">(),</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">GetAllocator</span><span class="p">());</span> |
| <span class="linenos"> 89</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">AddMember</span><span class="p">(</span><span class="n">str_key</span><span class="p">,</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">Value</span><span class="p">(</span><span class="n">i</span><span class="p">),</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">GetAllocator</span><span class="p">());</span> |
| <span class="linenos"> 90</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos"> 91</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos"> 92</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="linenos"> 93</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos"> 94</span> |
| <span class="linenos"> 95</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">StringArray</span><span class="o">&</span><span class="w"> </span><span class="n">array</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos"> 96</span><span class="w"> </span><span class="n">assert</span><span class="p">(</span><span class="k">static_cast</span><span class="o"><</span><span class="kt">int64_t</span><span class="o">></span><span class="p">(</span><span class="n">rows_</span><span class="p">.</span><span class="n">size</span><span class="p">())</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">length</span><span class="p">());</span> |
| <span class="linenos"> 97</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int64_t</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">length</span><span class="p">();</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos"> 98</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">array</span><span class="p">.</span><span class="n">IsNull</span><span class="p">(</span><span class="n">i</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos"> 99</span><span class="w"> </span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Value</span><span class="w"> </span><span class="nf">str_key</span><span class="p">(</span><span class="n">field_</span><span class="o">-></span><span class="n">name</span><span class="p">(),</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">GetAllocator</span><span class="p">());</span> |
| <span class="linenos">100</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">string_view</span><span class="w"> </span><span class="n">value_view</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">Value</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> |
| <span class="linenos">101</span><span class="w"> </span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Value</span><span class="w"> </span><span class="n">value</span><span class="p">;</span> |
| <span class="linenos">102</span><span class="w"> </span><span class="n">value</span><span class="p">.</span><span class="n">SetString</span><span class="p">(</span><span class="n">value_view</span><span class="p">.</span><span class="n">data</span><span class="p">(),</span> |
| <span class="linenos">103</span><span class="w"> </span><span class="k">static_cast</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">SizeType</span><span class="o">></span><span class="p">(</span><span class="n">value_view</span><span class="p">.</span><span class="n">size</span><span class="p">()),</span> |
| <span class="linenos">104</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">GetAllocator</span><span class="p">());</span> |
| <span class="linenos">105</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">AddMember</span><span class="p">(</span><span class="n">str_key</span><span class="p">,</span><span class="w"> </span><span class="n">value</span><span class="p">,</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">GetAllocator</span><span class="p">());</span> |
| <span class="linenos">106</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">107</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">108</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="linenos">109</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">110</span> |
| <span class="linenos">111</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">StructArray</span><span class="o">&</span><span class="w"> </span><span class="n">array</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">112</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">StructType</span><span class="o">*</span><span class="w"> </span><span class="n">type</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">struct_type</span><span class="p">();</span> |
| <span class="linenos">113</span> |
| <span class="linenos">114</span><span class="w"> </span><span class="n">assert</span><span class="p">(</span><span class="k">static_cast</span><span class="o"><</span><span class="kt">int64_t</span><span class="o">></span><span class="p">(</span><span class="n">rows_</span><span class="p">.</span><span class="n">size</span><span class="p">())</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">length</span><span class="p">());</span> |
| <span class="linenos">115</span> |
| <span class="linenos">116</span><span class="w"> </span><span class="n">RowBatchBuilder</span><span class="w"> </span><span class="nf">child_builder</span><span class="p">(</span><span class="n">rows_</span><span class="p">.</span><span class="n">size</span><span class="p">());</span> |
| <span class="linenos">117</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">type</span><span class="o">-></span><span class="n">num_fields</span><span class="p">();</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">118</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Field</span><span class="o">*</span><span class="w"> </span><span class="n">child_field</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">type</span><span class="o">-></span><span class="n">field</span><span class="p">(</span><span class="n">i</span><span class="p">).</span><span class="n">get</span><span class="p">();</span> |
| <span class="linenos">119</span><span class="w"> </span><span class="n">child_builder</span><span class="p">.</span><span class="n">SetField</span><span class="p">(</span><span class="n">child_field</span><span class="p">);</span> |
| <span class="linenos">120</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">arrow</span><span class="o">::</span><span class="n">VisitArrayInline</span><span class="p">(</span><span class="o">*</span><span class="n">array</span><span class="p">.</span><span class="n">field</span><span class="p">(</span><span class="n">i</span><span class="p">).</span><span class="n">get</span><span class="p">(),</span><span class="w"> </span><span class="o">&</span><span class="n">child_builder</span><span class="p">));</span> |
| <span class="linenos">121</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">122</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">></span><span class="w"> </span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">child_builder</span><span class="p">).</span><span class="n">Rows</span><span class="p">();</span> |
| <span class="linenos">123</span> |
| <span class="linenos">124</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int64_t</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">length</span><span class="p">();</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">125</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="o">!</span><span class="n">array</span><span class="p">.</span><span class="n">IsNull</span><span class="p">(</span><span class="n">i</span><span class="p">))</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">126</span><span class="w"> </span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Value</span><span class="w"> </span><span class="nf">str_key</span><span class="p">(</span><span class="n">field_</span><span class="o">-></span><span class="n">name</span><span class="p">(),</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">GetAllocator</span><span class="p">());</span> |
| <span class="linenos">127</span><span class="w"> </span><span class="c1">// Must copy value to new allocator</span> |
| <span class="linenos">128</span><span class="w"> </span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Value</span><span class="w"> </span><span class="n">row_val</span><span class="p">;</span> |
| <span class="linenos">129</span><span class="w"> </span><span class="n">row_val</span><span class="p">.</span><span class="n">CopyFrom</span><span class="p">(</span><span class="n">rows</span><span class="p">[</span><span class="n">i</span><span class="p">],</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">GetAllocator</span><span class="p">());</span> |
| <span class="linenos">130</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">AddMember</span><span class="p">(</span><span class="n">str_key</span><span class="p">,</span><span class="w"> </span><span class="n">row_val</span><span class="p">,</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">GetAllocator</span><span class="p">());</span> |
| <span class="linenos">131</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">132</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">133</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="linenos">134</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">135</span> |
| <span class="linenos">136</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="w"> </span><span class="n">Visit</span><span class="p">(</span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">ListArray</span><span class="o">&</span><span class="w"> </span><span class="n">array</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">137</span><span class="w"> </span><span class="n">assert</span><span class="p">(</span><span class="k">static_cast</span><span class="o"><</span><span class="kt">int64_t</span><span class="o">></span><span class="p">(</span><span class="n">rows_</span><span class="p">.</span><span class="n">size</span><span class="p">())</span><span class="w"> </span><span class="o">==</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">length</span><span class="p">());</span> |
| <span class="linenos">138</span><span class="w"> </span><span class="c1">// First create rows from values</span> |
| <span class="linenos">139</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">shared_ptr</span><span class="o"><</span><span class="n">arrow</span><span class="o">::</span><span class="n">Array</span><span class="o">></span><span class="w"> </span><span class="n">values</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">values</span><span class="p">();</span> |
| <span class="linenos">140</span><span class="w"> </span><span class="n">RowBatchBuilder</span><span class="w"> </span><span class="nf">child_builder</span><span class="p">(</span><span class="n">values</span><span class="o">-></span><span class="n">length</span><span class="p">());</span> |
| <span class="linenos">141</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Field</span><span class="o">*</span><span class="w"> </span><span class="n">value_field</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">list_type</span><span class="p">()</span><span class="o">-></span><span class="n">value_field</span><span class="p">().</span><span class="n">get</span><span class="p">();</span> |
| <span class="linenos">142</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">string</span><span class="w"> </span><span class="n">value_field_name</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">value_field</span><span class="o">-></span><span class="n">name</span><span class="p">();</span> |
| <span class="linenos">143</span><span class="w"> </span><span class="n">child_builder</span><span class="p">.</span><span class="n">SetField</span><span class="p">(</span><span class="n">value_field</span><span class="p">);</span> |
| <span class="linenos">144</span><span class="w"> </span><span class="n">ARROW_RETURN_NOT_OK</span><span class="p">(</span><span class="n">arrow</span><span class="o">::</span><span class="n">VisitArrayInline</span><span class="p">(</span><span class="o">*</span><span class="n">values</span><span class="p">.</span><span class="n">get</span><span class="p">(),</span><span class="w"> </span><span class="o">&</span><span class="n">child_builder</span><span class="p">));</span> |
| <span class="linenos">145</span> |
| <span class="linenos">146</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">></span><span class="w"> </span><span class="n">rows</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">move</span><span class="p">(</span><span class="n">child_builder</span><span class="p">).</span><span class="n">Rows</span><span class="p">();</span> |
| <span class="linenos">147</span> |
| <span class="linenos">148</span><span class="w"> </span><span class="kt">int64_t</span><span class="w"> </span><span class="n">values_i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span> |
| <span class="linenos">149</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int64_t</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">i</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">length</span><span class="p">();</span><span class="w"> </span><span class="o">++</span><span class="n">i</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">150</span><span class="w"> </span><span class="k">if</span><span class="w"> </span><span class="p">(</span><span class="n">array</span><span class="p">.</span><span class="n">IsNull</span><span class="p">(</span><span class="n">i</span><span class="p">))</span><span class="w"> </span><span class="k">continue</span><span class="p">;</span> |
| <span class="linenos">151</span> |
| <span class="linenos">152</span><span class="w"> </span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">::</span><span class="n">AllocatorType</span><span class="o">&</span><span class="w"> </span><span class="n">allocator</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">GetAllocator</span><span class="p">();</span> |
| <span class="linenos">153</span><span class="w"> </span><span class="k">auto</span><span class="w"> </span><span class="n">array_len</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="n">array</span><span class="p">.</span><span class="n">value_length</span><span class="p">(</span><span class="n">i</span><span class="p">);</span> |
| <span class="linenos">154</span> |
| <span class="linenos">155</span><span class="w"> </span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Value</span><span class="w"> </span><span class="n">value</span><span class="p">;</span> |
| <span class="linenos">156</span><span class="w"> </span><span class="n">value</span><span class="p">.</span><span class="n">SetArray</span><span class="p">();</span> |
| <span class="linenos">157</span><span class="w"> </span><span class="n">value</span><span class="p">.</span><span class="n">Reserve</span><span class="p">(</span><span class="n">array_len</span><span class="p">,</span><span class="w"> </span><span class="n">allocator</span><span class="p">);</span> |
| <span class="linenos">158</span> |
| <span class="linenos">159</span><span class="w"> </span><span class="k">for</span><span class="w"> </span><span class="p">(</span><span class="kt">int64_t</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o">=</span><span class="w"> </span><span class="mi">0</span><span class="p">;</span><span class="w"> </span><span class="n">j</span><span class="w"> </span><span class="o"><</span><span class="w"> </span><span class="n">array_len</span><span class="p">;</span><span class="w"> </span><span class="o">++</span><span class="n">j</span><span class="p">)</span><span class="w"> </span><span class="p">{</span> |
| <span class="linenos">160</span><span class="w"> </span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Value</span><span class="w"> </span><span class="n">row_val</span><span class="p">;</span> |
| <span class="linenos">161</span><span class="w"> </span><span class="c1">// Must copy value to new allocator</span> |
| <span class="linenos">162</span><span class="w"> </span><span class="n">row_val</span><span class="p">.</span><span class="n">CopyFrom</span><span class="p">(</span><span class="n">rows</span><span class="p">[</span><span class="n">values_i</span><span class="p">][</span><span class="n">value_field_name</span><span class="p">],</span><span class="w"> </span><span class="n">allocator</span><span class="p">);</span> |
| <span class="linenos">163</span><span class="w"> </span><span class="n">value</span><span class="p">.</span><span class="n">PushBack</span><span class="p">(</span><span class="n">row_val</span><span class="p">,</span><span class="w"> </span><span class="n">allocator</span><span class="p">);</span> |
| <span class="linenos">164</span><span class="w"> </span><span class="o">++</span><span class="n">values_i</span><span class="p">;</span> |
| <span class="linenos">165</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">166</span> |
| <span class="linenos">167</span><span class="w"> </span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Value</span><span class="w"> </span><span class="n">str_key</span><span class="p">(</span><span class="n">field_</span><span class="o">-></span><span class="n">name</span><span class="p">(),</span><span class="w"> </span><span class="n">allocator</span><span class="p">);</span> |
| <span class="linenos">168</span><span class="w"> </span><span class="n">rows_</span><span class="p">[</span><span class="n">i</span><span class="p">].</span><span class="n">AddMember</span><span class="p">(</span><span class="n">str_key</span><span class="p">,</span><span class="w"> </span><span class="n">value</span><span class="p">,</span><span class="w"> </span><span class="n">allocator</span><span class="p">);</span> |
| <span class="linenos">169</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">170</span> |
| <span class="linenos">171</span><span class="w"> </span><span class="k">return</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Status</span><span class="o">::</span><span class="n">OK</span><span class="p">();</span> |
| <span class="linenos">172</span><span class="w"> </span><span class="p">}</span> |
| <span class="linenos">173</span> |
| <span class="linenos">174</span><span class="w"> </span><span class="k">private</span><span class="o">:</span> |
| <span class="linenos">175</span><span class="w"> </span><span class="k">const</span><span class="w"> </span><span class="n">arrow</span><span class="o">::</span><span class="n">Field</span><span class="o">*</span><span class="w"> </span><span class="n">field_</span><span class="p">;</span> |
| <span class="linenos">176</span><span class="w"> </span><span class="n">std</span><span class="o">::</span><span class="n">vector</span><span class="o"><</span><span class="n">rapidjson</span><span class="o">::</span><span class="n">Document</span><span class="o">></span><span class="w"> </span><span class="n">rows_</span><span class="p">;</span> |
| <span class="linenos">177</span><span class="p">};</span><span class="w"> </span><span class="c1">// RowBatchBuilder</span> |
| </pre></div> |
| </div> |
| </section> |
| </section> |
| </section> |
| |
| |
| </div> |
| |
| |
| <!-- Previous / next buttons --> |
| <div class='prev-next-area'> |
| <a class='left-prev' id="prev-link" href="dataset_skyhook_scan_example.html" title="previous page"> |
| <i class="fas fa-angle-left"></i> |
| <div class="prev-next-info"> |
| <p class="prev-next-subtitle">previous</p> |
| <p class="prev-next-title">Arrow Skyhook example</p> |
| </div> |
| </a> |
| <a class='right-next' id="next-link" href="tuple_range_conversion.html" title="next page"> |
| <div class="prev-next-info"> |
| <p class="prev-next-subtitle">next</p> |
| <p class="prev-next-title">Conversion of range of <code class="docutils literal notranslate"><span class="pre">std::tuple</span></code>-like to <code class="docutils literal notranslate"><span class="pre">Table</span></code> instances</p> |
| </div> |
| <i class="fas fa-angle-right"></i> |
| </a> |
| </div> |
| |
| </main> |
| |
| |
| </div> |
| </div> |
| |
| <script src="../../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf"></script> |
| |
| <footer class="footer mt-5 mt-md-0"> |
| <div class="container"> |
| |
| <div class="footer-item"> |
| <p class="copyright"> |
| © Copyright 2016-2023 Apache Software Foundation.<br> |
| </p> |
| </div> |
| |
| <div class="footer-item"> |
| <p class="sphinx-version"> |
| Created using <a href="http://sphinx-doc.org/">Sphinx</a> 6.2.0.<br> |
| </p> |
| </div> |
| |
| </div> |
| </footer> |
| <script type="text/javascript" src="/docs/_static/versionwarning.js"></script> |
| |
| </body> |
| </html> |