blob: 477e5a90abd71bb26cec952e65192e5bfef14a1d [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" data-content_root="" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="generator" content="Docutils 0.19: https://docutils.sourceforge.io/" />
<title>Glossary &#8212; Apache Arrow v17.0.0.dev52</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "light";
</script>
<!-- Loaded before other Sphinx assets -->
<link href="../_static/styles/theme.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link href="../_static/styles/bootstrap.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link href="../_static/styles/pydata-sphinx-theme.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link href="../_static/vendor/fontawesome/6.5.1/css/all.min.css?digest=8d27b9dea8ad943066ae" rel="stylesheet" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.1/webfonts/fa-solid-900.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.1/webfonts/fa-brands-400.woff2" />
<link rel="preload" as="font" type="font/woff2" crossorigin href="../_static/vendor/fontawesome/6.5.1/webfonts/fa-regular-400.woff2" />
<link rel="stylesheet" type="text/css" href="../_static/pygments.css" />
<link rel="stylesheet" type="text/css" href="../_static/copybutton.css" />
<link rel="stylesheet" type="text/css" href="../_static/design-style.1e8bd061cd6da7fc9cf755528e8ffc24.min.css" />
<link rel="stylesheet" type="text/css" href="../_static/theme_overrides.css" />
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="../_static/scripts/bootstrap.js?digest=8d27b9dea8ad943066ae" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=8d27b9dea8ad943066ae" />
<script src="../_static/vendor/fontawesome/6.5.1/js/all.min.js?digest=8d27b9dea8ad943066ae"></script>
<script data-url_root="../" id="documentation_options" src="../_static/documentation_options.js"></script>
<script src="../_static/doctools.js"></script>
<script src="../_static/sphinx_highlight.js"></script>
<script src="../_static/clipboard.min.js"></script>
<script src="../_static/copybutton.js"></script>
<script src="../_static/design-tabs.js"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'format/Glossary';</script>
<script>
DOCUMENTATION_OPTIONS.theme_version = '0.15.2';
DOCUMENTATION_OPTIONS.theme_switcher_json_url = '/docs/_static/versions.json';
DOCUMENTATION_OPTIONS.theme_switcher_version_match = 'dev/';
DOCUMENTATION_OPTIONS.show_version_warning_banner = true;
</script>
<link rel="canonical" href="https://arrow.apache.org/docs/format/Glossary.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="Development" href="../developers/index.html" />
<link rel="prev" title="Integration Testing" href="Integration.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<!-- Matomo -->
<script>
var _paq = window._paq = window._paq || [];
/* tracker methods like "setCustomDimension" should be called before "trackPageView" */
/* We explicitly disable cookie tracking to avoid privacy issues */
_paq.push(['disableCookies']);
_paq.push(['trackPageView']);
_paq.push(['enableLinkTracking']);
(function() {
var u="https://analytics.apache.org/";
_paq.push(['setTrackerUrl', u+'matomo.php']);
_paq.push(['setSiteId', '20']);
var d=document, g=d.createElement('script'), s=d.getElementsByTagName('script')[0];
g.async=true; g.src=u+'matomo.js'; s.parentNode.insertBefore(g,s);
})();
</script>
<!-- End Matomo Code -->
</head>
<body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
<a id="pst-skip-link" class="skip-link" href="#main-content">Skip to main content</a>
<div id="pst-scroll-pixel-helper"></div>
<button type="button" class="btn rounded-pill" id="pst-back-to-top">
<i class="fa-solid fa-arrow-up"></i>
Back to top
</button>
<input type="checkbox"
class="sidebar-toggle"
name="__primary"
id="__primary"/>
<label class="overlay overlay-primary" for="__primary"></label>
<input type="checkbox"
class="sidebar-toggle"
name="__secondary"
id="__secondary"/>
<label class="overlay overlay-secondary" for="__secondary"></label>
<div class="search-button__wrapper">
<div class="search-button__overlay"></div>
<div class="search-button__search-container">
<form class="bd-search d-flex align-items-center"
action="../search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
id="search-input"
placeholder="Search the docs ..."
aria-label="Search the docs ..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form></div>
</div>
<header class="bd-header navbar navbar-expand-lg bd-navbar">
<div class="bd-header__inner bd-page-width">
<label class="sidebar-toggle primary-toggle" for="__primary">
<span class="fa-solid fa-bars"></span>
</label>
<div class="col-lg-3 navbar-header-items__start">
<div class="navbar-item">
<a class="navbar-brand logo" href="../index.html">
<img src="../_static/arrow.png" class="logo__image only-light" alt="Apache Arrow v17.0.0.dev52 - Home"/>
<script>document.write(`<img src="../_static/arrow-dark.png" class="logo__image only-dark" alt="Apache Arrow v17.0.0.dev52 - Home"/>`);</script>
</a></div>
</div>
<div class="col-lg-9 navbar-header-items">
<div class="me-auto navbar-header-items__center">
<div class="navbar-item">
<nav class="navbar-nav">
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item current active">
<a class="nav-link nav-internal" href="index.html">
Specifications
</a>
</li>
<li class="nav-item">
<a class="nav-link nav-internal" href="../developers/index.html">
Development
</a>
</li>
<li class="nav-item dropdown">
<button class="btn dropdown-toggle nav-item" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-controls="pst-nav-more-links">
Implementations
</button>
<ul id="pst-nav-more-links" class="dropdown-menu">
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../c_glib/index.html">
C/GLib
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../cpp/index.html">
C++
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/csharp/README.md">
C#
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://pkg.go.dev/github.com/apache/arrow/go/v17">
Go
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../java/index.html">
Java
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../js/index.html">
JavaScript
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/julia/">
Julia
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/matlab/README.md">
MATLAB
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/nanoarrow/">
nanoarrow
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../python/index.html">
Python
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../r/index.html">
R
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/ruby/README.md">
Ruby
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://docs.rs/crate/arrow/">
Rust
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../status.html">
Implementation Status
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/cpp/">
C++ cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/java/">
Java cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/py/">
Python cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/r/">
R cookbook
</a>
</li>
</ul>
</li>
</ul>
</nav></div>
</div>
<div class="navbar-header-items__end">
<div class="navbar-item navbar-persistent--container">
<script>
document.write(`
<button class="btn navbar-btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script>
</div>
<div class="navbar-item">
<script>
document.write(`
<div class="version-switcher__container dropdown">
<button id="pst-version-switcher-button-2"
type="button"
class="version-switcher__button btn btn-sm navbar-btn dropdown-toggle"
data-bs-toggle="dropdown"
aria-haspopup="listbox"
aria-controls="pst-version-switcher-list-2"
aria-label="Version switcher list"
>
Choose version <!-- this text may get changed later by javascript -->
<span class="caret"></span>
</button>
<div id="pst-version-switcher-list-2"
class="version-switcher__menu dropdown-menu list-group-flush py-0"
role="listbox" aria-labelledby="pst-version-switcher-button-2">
<!-- dropdown will be populated by javascript on page load -->
</div>
</div>
`);
</script></div>
<div class="navbar-item">
<script>
document.write(`
<button class="btn btn-sm navbar-btn theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="theme-switch nav-link" data-mode="light"><i class="fa-solid fa-sun fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="dark"><i class="fa-solid fa-moon fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg"></i></span>
</button>
`);
</script></div>
<div class="navbar-item"><ul class="navbar-icon-links navbar-nav"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://twitter.com/ApacheArrow" title="X" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-x-twitter fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">X</span></a>
</li>
</ul></div>
</div>
</div>
<div class="navbar-persistent--mobile">
<script>
document.write(`
<button class="btn navbar-btn search-button-field search-button__button" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
`);
</script>
</div>
<label class="sidebar-toggle secondary-toggle" for="__secondary" tabindex="0">
<span class="fa-solid fa-outdent"></span>
</label>
</div>
</header>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<div class="bd-sidebar-primary bd-sidebar">
<div class="sidebar-header-items sidebar-primary__section">
<div class="sidebar-header-items__center">
<div class="navbar-item">
<nav class="navbar-nav">
<ul class="bd-navbar-elements navbar-nav">
<li class="nav-item current active">
<a class="nav-link nav-internal" href="index.html">
Specifications
</a>
</li>
<li class="nav-item">
<a class="nav-link nav-internal" href="../developers/index.html">
Development
</a>
</li>
<li class="nav-item dropdown">
<button class="btn dropdown-toggle nav-item" type="button" data-bs-toggle="dropdown" aria-expanded="false" aria-controls="pst-nav-more-links-2">
Implementations
</button>
<ul id="pst-nav-more-links-2" class="dropdown-menu">
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../c_glib/index.html">
C/GLib
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../cpp/index.html">
C++
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/csharp/README.md">
C#
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://pkg.go.dev/github.com/apache/arrow/go/v17">
Go
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../java/index.html">
Java
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../js/index.html">
JavaScript
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/julia/">
Julia
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/matlab/README.md">
MATLAB
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/nanoarrow/">
nanoarrow
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../python/index.html">
Python
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../r/index.html">
R
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://github.com/apache/arrow/blob/main/ruby/README.md">
Ruby
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://docs.rs/crate/arrow/">
Rust
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-internal" href="../status.html">
Implementation Status
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/cpp/">
C++ cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/java/">
Java cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/py/">
Python cookbook
</a>
</li>
<li class="nav-item">
<a class="nav-link dropdown-item nav-external" href="https://arrow.apache.org/cookbook/r/">
R cookbook
</a>
</li>
</ul>
</li>
</ul>
</nav></div>
</div>
<div class="sidebar-header-items__end">
<div class="navbar-item">
<script>
document.write(`
<div class="version-switcher__container dropdown">
<button id="pst-version-switcher-button-3"
type="button"
class="version-switcher__button btn btn-sm navbar-btn dropdown-toggle"
data-bs-toggle="dropdown"
aria-haspopup="listbox"
aria-controls="pst-version-switcher-list-3"
aria-label="Version switcher list"
>
Choose version <!-- this text may get changed later by javascript -->
<span class="caret"></span>
</button>
<div id="pst-version-switcher-list-3"
class="version-switcher__menu dropdown-menu list-group-flush py-0"
role="listbox" aria-labelledby="pst-version-switcher-button-3">
<!-- dropdown will be populated by javascript on page load -->
</div>
</div>
`);
</script></div>
<div class="navbar-item">
<script>
document.write(`
<button class="btn btn-sm navbar-btn theme-switch-button" title="light/dark" aria-label="light/dark" data-bs-placement="bottom" data-bs-toggle="tooltip">
<span class="theme-switch nav-link" data-mode="light"><i class="fa-solid fa-sun fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="dark"><i class="fa-solid fa-moon fa-lg"></i></span>
<span class="theme-switch nav-link" data-mode="auto"><i class="fa-solid fa-circle-half-stroke fa-lg"></i></span>
</button>
`);
</script></div>
<div class="navbar-item"><ul class="navbar-icon-links navbar-nav"
aria-label="Icon Links">
<li class="nav-item">
<a href="https://github.com/apache/arrow" title="GitHub" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-github fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">GitHub</span></a>
</li>
<li class="nav-item">
<a href="https://twitter.com/ApacheArrow" title="X" class="nav-link" rel="noopener" target="_blank" data-bs-toggle="tooltip" data-bs-placement="bottom"><span><i class="fa-brands fa-square-x-twitter fa-lg" aria-hidden="true"></i></span>
<span class="sr-only">X</span></a>
</li>
</ul></div>
</div>
</div>
<div class="sidebar-primary-items__start sidebar-primary__section">
<div class="sidebar-primary-item">
<nav class="bd-docs-nav bd-links"
aria-label="Section Navigation">
<p class="bd-links__title" role="heading" aria-level="1">Section Navigation</p>
<div class="bd-toc-item navbar-nav"><ul class="current nav bd-sidenav">
<li class="toctree-l1"><a class="reference internal" href="Versioning.html">Format Versioning and Stability</a></li>
<li class="toctree-l1"><a class="reference internal" href="Columnar.html">Arrow Columnar Format</a></li>
<li class="toctree-l1"><a class="reference internal" href="CanonicalExtensions.html">Canonical Extension Types</a></li>
<li class="toctree-l1"><a class="reference internal" href="Other.html">Other Data Structures</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="CDataInterface.html">The Arrow C data interface</a><input class="toctree-checkbox" id="toctree-checkbox-1" name="toctree-checkbox-1" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-1"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="CDataInterface/PyCapsuleInterface.html">The Arrow PyCapsule Interface</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="CStreamInterface.html">The Arrow C stream interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="CDeviceDataInterface.html">The Arrow C Device data interface</a></li>
<li class="toctree-l1"><a class="reference internal" href="Flight.html">Arrow Flight RPC</a></li>
<li class="toctree-l1"><a class="reference internal" href="FlightSql.html">Arrow Flight SQL</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="ADBC.html">ADBC: Arrow Database Connectivity</a><input class="toctree-checkbox" id="toctree-checkbox-2" name="toctree-checkbox-2" type="checkbox"/><label class="toctree-toggle" for="toctree-checkbox-2"><i class="fa-solid fa-chevron-down"></i></label><ul>
<li class="toctree-l2"><a class="reference internal" href="ADBC/C.html">ADBC C API Specification</a></li>
<li class="toctree-l2"><a class="reference internal" href="ADBC/Go.html">ADBC Go API Specification</a></li>
<li class="toctree-l2"><a class="reference internal" href="ADBC/Java.html">ADBC Java API Specification</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="Changing.html">Changing the Apache Arrow Format Specification</a></li>
<li class="toctree-l1"><a class="reference internal" href="Integration.html">Integration Testing</a></li>
<li class="toctree-l1 current active"><a class="current reference internal" href="#">Glossary</a></li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
</div>
<div id="rtd-footer-container"></div>
</div>
<main id="main-content" class="bd-main">
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article">
<div class="header-article-items header-article__inner">
<div class="header-article-items__start">
<div class="header-article-item">
<nav aria-label="Breadcrumb">
<ul class="bd-breadcrumbs">
<li class="breadcrumb-item breadcrumb-home">
<a href="../index.html" class="nav-link" aria-label="Home">
<i class="fa-solid fa-home"></i>
</a>
</li>
<li class="breadcrumb-item"><a href="index.html" class="nav-link">Specifications</a></li>
<li class="breadcrumb-item active" aria-current="page">Glossary</li>
</ul>
</nav>
</div>
</div>
</div>
</div>
<div id="searchbox"></div>
<article class="bd-article">
<section id="glossary">
<h1>Glossary<a class="headerlink" href="#glossary" title="Permalink to this heading">#</a></h1>
<dl class="glossary">
<dt id="term-array">array<a class="headerlink" href="#term-array" title="Permalink to this term">#</a></dt><dt id="term-vector">vector<a class="headerlink" href="#term-vector" title="Permalink to this term">#</a></dt><dd><p>A <em>contiguous</em>, <em>one-dimensional</em> sequence of values with known
length where all values have the same type. An array consists
of zero or more <a class="reference internal" href="#term-buffer"><span class="xref std std-term">buffers</span></a>, a non-negative
length, and a <a class="reference internal" href="#term-data-type"><span class="xref std std-term">data type</span></a>. The buffers of an array are
laid out according to the data type as defined by the columnar
format.</p>
<p>Arrays are contiguous in the sense that iterating the values of
an array will iterate through a single set of buffers, even
though an array may consist of multiple disjoint buffers, or
may consist of child arrays that themselves span multiple
buffers.</p>
<p>Arrays are one-dimensional in that they are a sequence of
<a class="reference internal" href="#term-slot"><span class="xref std std-term">slots</span></a> or singular values, even though for some
data types (like structs or unions), a slot may represent
multiple values.</p>
<p>Defined by the <a class="reference internal" href="Columnar.html"><span class="doc">Arrow Columnar Format</span></a>.</p>
</dd>
<dt id="term-buffer">buffer<a class="headerlink" href="#term-buffer" title="Permalink to this term">#</a></dt><dd><p>A <em>contiguous</em> region of memory with a given length. Buffers
are used to store data for arrays.</p>
<p>Buffers may be in CPU memory, memory-mapped from a file, in
device (e.g. GPU) memory, etc., though not all Arrow
implementations support all of these possibilities.</p>
</dd>
<dt id="term-canonical-extension-type">canonical extension type<a class="headerlink" href="#term-canonical-extension-type" title="Permalink to this term">#</a></dt><dd><p>An <a class="reference internal" href="#term-extension-type"><span class="xref std std-term">extension type</span></a> that has been standardized by the
Arrow community so as to improve interoperability between
implementations.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="CanonicalExtensions.html#format-canonical-extensions"><span class="std std-ref">Canonical Extension Types</span></a>.</p>
</div>
</dd>
<dt id="term-child-array">child array<a class="headerlink" href="#term-child-array" title="Permalink to this term">#</a></dt><dt id="term-parent-array">parent array<a class="headerlink" href="#term-parent-array" title="Permalink to this term">#</a></dt><dd><p>In an array of a <a class="reference internal" href="#term-nested-type"><span class="xref std std-term">nested type</span></a>, the parent array
corresponds to the <a class="reference internal" href="#term-parent-type"><span class="xref std std-term">parent type</span></a> and the child array(s)
correspond to the <a class="reference internal" href="#term-child-type"><span class="xref std std-term">child type(s)</span></a>. For
example, a <code class="docutils literal notranslate"><span class="pre">List[Int32]</span></code>-type parent array has an
<code class="docutils literal notranslate"><span class="pre">Int32</span></code>-type child array.</p>
</dd>
<dt id="term-child-type">child type<a class="headerlink" href="#term-child-type" title="Permalink to this term">#</a></dt><dt id="term-parent-type">parent type<a class="headerlink" href="#term-parent-type" title="Permalink to this term">#</a></dt><dd><p>In a <a class="reference internal" href="#term-nested-type"><span class="xref std std-term">nested type</span></a>, the nested type is the parent type,
and the child type(s) are its parameters. For example, in
<code class="docutils literal notranslate"><span class="pre">List[Int32]</span></code>, <code class="docutils literal notranslate"><span class="pre">List</span></code> is the parent type and <code class="docutils literal notranslate"><span class="pre">Int32</span></code> is
the child type.</p>
</dd>
<dt id="term-chunked-array">chunked array<a class="headerlink" href="#term-chunked-array" title="Permalink to this term">#</a></dt><dd><p>A <em>discontiguous</em>, <em>one-dimensional</em> sequence of values with
known length where all values have the same type. Consists of
zero or more <a class="reference internal" href="#term-array"><span class="xref std std-term">arrays</span></a>, the “chunks”.</p>
<p>Chunked arrays are discontiguous in the sense that iterating
the values of a chunked array may require iterating through
different buffers for different indices.</p>
<p>Not part of the columnar format; this term is specific to
certain language implementations of Arrow (primarily C++ and
its bindings).</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="#term-record-batch"><span class="xref std std-term">record batch</span></a>, <a class="reference internal" href="#term-table"><span class="xref std std-term">table</span></a></p>
</div>
</dd>
<dt id="term-complex-type">complex type<a class="headerlink" href="#term-complex-type" title="Permalink to this term">#</a></dt><dt id="term-nested-type">nested type<a class="headerlink" href="#term-nested-type" title="Permalink to this term">#</a></dt><dd><p>A <a class="reference internal" href="#term-data-type"><span class="xref std std-term">data type</span></a> whose structure depends on one or more
other <a class="reference internal" href="#term-child-type"><span class="xref std std-term">child data types</span></a>. For instance,
<code class="docutils literal notranslate"><span class="pre">List</span></code> is a nested type that has one child.</p>
<p>Two nested types are equal if and only if their child types are
also equal.</p>
</dd>
<dt id="term-data-type">data type<a class="headerlink" href="#term-data-type" title="Permalink to this term">#</a></dt><dt id="term-type">type<a class="headerlink" href="#term-type" title="Permalink to this term">#</a></dt><dd><p>A type that a value can take, such as <code class="docutils literal notranslate"><span class="pre">Int8</span></code> or
<code class="docutils literal notranslate"><span class="pre">List[Utf8]</span></code>. The type of an array determines how its values
are laid out in memory according to <a class="reference internal" href="Columnar.html"><span class="doc">Arrow Columnar Format</span></a>.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="#term-nested-type"><span class="xref std std-term">nested type</span></a>, <a class="reference internal" href="#term-primitive-type"><span class="xref std std-term">primitive type</span></a></p>
</div>
</dd>
<dt id="term-dictionary">dictionary<a class="headerlink" href="#term-dictionary" title="Permalink to this term">#</a></dt><dd><p>An array of values that accompany a <a class="reference internal" href="#term-dictionary-encoding"><span class="xref std std-term">dictionary-encoded</span></a> array.</p>
</dd>
<dt id="term-dictionary-encoding">dictionary-encoding<a class="headerlink" href="#term-dictionary-encoding" title="Permalink to this term">#</a></dt><dd><p>An array that stores its values as indices into a
<a class="reference internal" href="#term-dictionary"><span class="xref std std-term">dictionary</span></a> array instead of storing the values
directly.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="Columnar.html#dictionary-encoded-layout"><span class="std std-ref">Dictionary-encoded Layout</span></a></p>
</div>
</dd>
<dt id="term-extension-type">extension type<a class="headerlink" href="#term-extension-type" title="Permalink to this term">#</a></dt><dt id="term-storage-type">storage type<a class="headerlink" href="#term-storage-type" title="Permalink to this term">#</a></dt><dd><p>An extension type is an user-defined <a class="reference internal" href="#term-data-type"><span class="xref std std-term">data type</span></a> that adds
additional semantics to an existing data type. This allows
implementations that do not support a particular extension type to
still handle the underlying data type (the “storage type”).</p>
<p>For example, a UUID can be represented as a 16-byte fixed-size
binary type.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="Columnar.html#format-metadata-extension-types"><span class="std std-ref">Extension Types</span></a></p>
</div>
</dd>
<dt id="term-field">field<a class="headerlink" href="#term-field" title="Permalink to this term">#</a></dt><dd><p>A column in a <a class="reference internal" href="#term-schema"><span class="xref std std-term">schema</span></a>. Consists of a field name, a
<a class="reference internal" href="#term-data-type"><span class="xref std std-term">data type</span></a>, a flag indicating whether the field is
nullable or not, and optional key-value metadata.</p>
</dd>
<dt id="term-IPC-file-format">IPC file format<a class="headerlink" href="#term-IPC-file-format" title="Permalink to this term">#</a></dt><dt id="term-file-format">file format<a class="headerlink" href="#term-file-format" title="Permalink to this term">#</a></dt><dt id="term-random-access-format">random-access format<a class="headerlink" href="#term-random-access-format" title="Permalink to this term">#</a></dt><dd><p>An extension of the <a class="reference internal" href="#term-IPC-streaming-format"><span class="xref std std-term">IPC streaming format</span></a> that can be
used to serialize Arrow data to disk, then read it back with
random access to individual record batches.</p>
</dd>
<dt id="term-IPC-format">IPC format<a class="headerlink" href="#term-IPC-format" title="Permalink to this term">#</a></dt><dd><p>A specification for how to serialize Arrow data, so it can be
sent between processes/machines, or persisted on disk.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="#term-IPC-file-format"><span class="xref std std-term">IPC file format</span></a>,
<a class="reference internal" href="#term-IPC-streaming-format"><span class="xref std std-term">IPC streaming format</span></a></p>
</div>
</dd>
<dt id="term-IPC-message">IPC message<a class="headerlink" href="#term-IPC-message" title="Permalink to this term">#</a></dt><dt id="term-message">message<a class="headerlink" href="#term-message" title="Permalink to this term">#</a></dt><dd><p>The IPC representation of a particular in-memory structure, like a <a class="reference internal" href="#term-record-batch"><span class="xref std std-term">record
batch</span></a> or <a class="reference internal" href="#term-schema"><span class="xref std std-term">schema</span></a>. Will always be one of the members of <code class="docutils literal notranslate"><span class="pre">MessageHeader</span></code>
in the <a class="reference external" href="https://github.com/apache/arrow/blob/main/format/Message.fbs">Flatbuffers protocol file</a>.</p>
</dd>
<dt id="term-IPC-streaming-format">IPC streaming format<a class="headerlink" href="#term-IPC-streaming-format" title="Permalink to this term">#</a></dt><dt id="term-streaming-format">streaming format<a class="headerlink" href="#term-streaming-format" title="Permalink to this term">#</a></dt><dd><p>A protocol for streaming Arrow data or for serializing data to
a file, consisting of a stream of <a class="reference internal" href="#term-IPC-message"><span class="xref std std-term">IPC messages</span></a>.</p>
</dd>
<dt id="term-physical-layout">physical layout<a class="headerlink" href="#term-physical-layout" title="Permalink to this term">#</a></dt><dd><p>A specification for how to arrange values in memory.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="Columnar.html#format-layout"><span class="std std-ref">Physical Memory Layout</span></a></p>
</div>
</dd>
<dt id="term-primitive-type">primitive type<a class="headerlink" href="#term-primitive-type" title="Permalink to this term">#</a></dt><dd><p>A data type that does not have any child types.</p>
<div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="#term-data-type"><span class="xref std std-term">data type</span></a></p>
</div>
</dd>
<dt id="term-record-batch">record batch<a class="headerlink" href="#term-record-batch" title="Permalink to this term">#</a></dt><dd><p><strong>In the</strong> <a class="reference internal" href="Columnar.html#format-ipc"><span class="std std-ref">IPC format</span></a>: the primitive unit
of data. A record batch consists of an ordered list of
<a class="reference internal" href="#term-buffer"><span class="xref std std-term">buffers</span></a> corresponding to a <a class="reference internal" href="#term-schema"><span class="xref std std-term">schema</span></a>.</p>
<p><strong>In some implementations</strong> (primarily C++ and its bindings): a
<em>contiguous</em>, <em>two-dimensional</em> chunk of data. A record batch
consists of an ordered collection of <a class="reference internal" href="#term-array"><span class="xref std std-term">arrays</span></a> of
the same length.</p>
<p>Like arrays, record batches are contiguous in the sense that
iterating the rows of a record batch will iterate through a
single set of buffers.</p>
</dd>
<dt id="term-schema">schema<a class="headerlink" href="#term-schema" title="Permalink to this term">#</a></dt><dd><p>A collection of <a class="reference internal" href="#term-field"><span class="xref std std-term">fields</span></a> with optional metadata
that determines all the <a class="reference internal" href="#term-data-type"><span class="xref std std-term">data types</span></a> of an
object like a <a class="reference internal" href="#term-record-batch"><span class="xref std std-term">record batch</span></a> or <a class="reference internal" href="#term-table"><span class="xref std std-term">table</span></a>.</p>
</dd>
<dt id="term-slot">slot<a class="headerlink" href="#term-slot" title="Permalink to this term">#</a></dt><dd><p>A single logical value within an array, i.e. a “row”.</p>
</dd>
<dt id="term-table">table<a class="headerlink" href="#term-table" title="Permalink to this term">#</a></dt><dd><p>A <em>discontiguous</em>, <em>two-dimensional</em> chunk of data consisting
of an ordered collection of <a class="reference internal" href="#term-chunked-array"><span class="xref std std-term">chunked arrays</span></a>. All chunked arrays have the same length, but may have
different types. Different columns may be chunked
differently.</p>
<p>Like chunked arrays, tables are discontiguous in the sense that
iterating the rows of a table may require iterating through
different buffers for different indices.</p>
<p>Not part of the columnar format; this term is specific to
certain language implementations of Arrow (for example C++ and
its bindings, and Go).</p>
<img alt="A graphical representation of an Arrow Table and a Record Batch, with structure as described in text above." src="../_images/tables-versus-record-batches.svg" /><div class="admonition seealso">
<p class="admonition-title">See also</p>
<p><a class="reference internal" href="#term-chunked-array"><span class="xref std std-term">chunked array</span></a>, <a class="reference internal" href="#term-record-batch"><span class="xref std std-term">record batch</span></a></p>
</div>
</dd>
</dl>
</section>
</article>
<footer class="prev-next-footer">
<div class="prev-next-area">
<a class="left-prev"
href="Integration.html"
title="previous page">
<i class="fa-solid fa-angle-left"></i>
<div class="prev-next-info">
<p class="prev-next-subtitle">previous</p>
<p class="prev-next-title">Integration Testing</p>
</div>
</a>
<a class="right-next"
href="../developers/index.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Development</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
</div>
</footer>
</div>
<div class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div class="tocsection editthispage">
<a href="https://github.com/apache/arrow/edit/main/docs/source/format/Glossary.rst">
<i class="fa-solid fa-pencil"></i>
Edit on GitHub
</a>
</div>
</div>
</div></div>
</div>
<footer class="bd-footer-content">
</footer>
</main>
</div>
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script src="../_static/scripts/bootstrap.js?digest=8d27b9dea8ad943066ae"></script>
<script src="../_static/scripts/pydata-sphinx-theme.js?digest=8d27b9dea8ad943066ae"></script>
<footer class="bd-footer">
<div class="bd-footer__inner bd-page-width">
<div class="footer-items__start">
<div class="footer-item">
<p class="copyright">
© Copyright 2016-2024 Apache Software Foundation.
Apache Arrow, Arrow, Apache, the Apache feather logo, and the Apache Arrow project logo are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.
<br/>
</p>
</div>
<div class="footer-item">
<p class="sphinx-version">
Created using <a href="https://www.sphinx-doc.org/">Sphinx</a> 6.2.0.
<br/>
</p>
</div>
</div>
<div class="footer-items__end">
<div class="footer-item">
<p class="theme-version">
Built with the <a href="https://pydata-sphinx-theme.readthedocs.io/en/stable/index.html">PyData Sphinx Theme</a> 0.15.2.
</p></div>
</div>
</div>
</footer>
</body>
</html>