blob: 317a39de2b38c1cab43ae9bdbccada48dfe89e02 [file] [log] [blame]
<!DOCTYPE html>
<html lang="en" data-content_root="./" >
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" /><meta name="viewport" content="width=device-width, initial-scale=1" />
<title>Apache DataFusion &#8212; Apache DataFusion documentation</title>
<script data-cfasync="false">
document.documentElement.dataset.mode = localStorage.getItem("mode") || "";
document.documentElement.dataset.theme = localStorage.getItem("theme") || "";
</script>
<!--
this give us a css class that will be invisible only if js is disabled
-->
<noscript>
<style>
.pst-js-only { display: none !important; }
</style>
</noscript>
<!-- Loaded before other Sphinx assets -->
<link href="_static/styles/theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link href="_static/styles/pydata-sphinx-theme.css?digest=8878045cc6db502f8baf" rel="stylesheet" />
<link rel="stylesheet" type="text/css" href="_static/pygments.css?v=8f2a1f02" />
<link rel="stylesheet" type="text/css" href="_static/theme_overrides.css?v=0b9a6302" />
<!-- So that users can add custom icons -->
<script src="_static/scripts/fontawesome.js?digest=8878045cc6db502f8baf"></script>
<!-- Pre-loaded scripts that we'll load fully later -->
<link rel="preload" as="script" href="_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf" />
<link rel="preload" as="script" href="_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf" />
<script src="_static/documentation_options.js?v=5929fcd5"></script>
<script src="_static/doctools.js?v=9bcbadda"></script>
<script src="_static/sphinx_highlight.js?v=dc90522c"></script>
<script>DOCUMENTATION_OPTIONS.pagename = 'index';</script>
<link rel="index" title="Index" href="genindex.html" />
<link rel="search" title="Search" href="search.html" />
<link rel="next" title="Download" href="download.html" />
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<meta name="docsearch:language" content="en"/>
<meta name="docsearch:version" content="" />
</head>
<body data-bs-spy="scroll" data-bs-target=".bd-toc-nav" data-offset="180" data-bs-root-margin="0px 0px -60%" data-default-mode="">
<div id="pst-skip-link" class="skip-link d-print-none"><a href="#main-content">Skip to main content</a></div>
<div id="pst-scroll-pixel-helper"></div>
<button type="button" class="btn rounded-pill" id="pst-back-to-top">
<i class="fa-solid fa-arrow-up"></i>Back to top</button>
<dialog id="pst-search-dialog">
<form class="bd-search d-flex align-items-center"
action="search.html"
method="get">
<i class="fa-solid fa-magnifying-glass"></i>
<input type="search"
class="form-control"
name="q"
placeholder="Search the docs ..."
aria-label="Search the docs ..."
autocomplete="off"
autocorrect="off"
autocapitalize="off"
spellcheck="false"/>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd>K</kbd></span>
</form>
</dialog>
<div class="pst-async-banner-revealer d-none">
<aside id="bd-header-version-warning" class="d-none d-print-none" aria-label="Version warning"></aside>
</div>
<header class="bd-header navbar navbar-expand-lg bd-navbar d-print-none">
<div class="bd-header__inner bd-page-width">
<button class="pst-navbar-icon sidebar-toggle primary-toggle" aria-label="Site navigation">
<span class="fa-solid fa-bars"></span>
</button>
<div class="col-lg-3 navbar-header-items__start">
<div class="navbar-item">
<a class="navbar-brand logo" href="#">
<img src="_static/original.svg" class="logo__image only-light" alt="Apache DataFusion documentation - Home"/>
<img src="_static/original_dark.svg" class="logo__image only-dark pst-js-only" alt="Apache DataFusion documentation - Home"/>
</a></div>
</div>
<div class="col-lg-9 navbar-header-items">
<div class="navbar-header-items__end">
<div class="navbar-item navbar-persistent--container">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
</div>
</div>
<div class="navbar-persistent--mobile">
<button class="btn search-button-field search-button__button pst-js-only" title="Search" aria-label="Search" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="fa-solid fa-magnifying-glass"></i>
<span class="search-button__default-text">Search</span>
<span class="search-button__kbd-shortcut"><kbd class="kbd-shortcut__modifier">Ctrl</kbd>+<kbd class="kbd-shortcut__modifier">K</kbd></span>
</button>
</div>
<button class="pst-navbar-icon sidebar-toggle secondary-toggle" aria-label="On this page">
<span class="fa-solid fa-outdent"></span>
</button>
</div>
</header>
<div class="bd-container">
<div class="bd-container__inner bd-page-width">
<dialog id="pst-primary-sidebar-modal"></dialog>
<div id="pst-primary-sidebar" class="bd-sidebar-primary bd-sidebar">
<div class="sidebar-header-items sidebar-primary__section">
<div class="sidebar-header-items__end">
<div class="navbar-item">
<button class="btn btn-sm nav-link pst-navbar-icon theme-switch-button pst-js-only" aria-label="Color mode" data-bs-title="Color mode" data-bs-placement="bottom" data-bs-toggle="tooltip">
<i class="theme-switch fa-solid fa-sun fa-lg" data-mode="light" title="Light"></i>
<i class="theme-switch fa-solid fa-moon fa-lg" data-mode="dark" title="Dark"></i>
<i class="theme-switch fa-solid fa-circle-half-stroke fa-lg" data-mode="auto" title="System Settings"></i>
</button></div>
</div>
</div>
<div class="sidebar-primary-items__start sidebar-primary__section">
<div class="sidebar-primary-item"><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">ASF Links</span></p>
<ul class="nav bd-sidenav">
<li class="toctree-l1"><a class="reference external" href="https://apache.org">Apache Software Foundation</a></li>
<li class="toctree-l1"><a class="reference external" href="https://www.apache.org/licenses/">License</a></li>
<li class="toctree-l1"><a class="reference external" href="https://www.apache.org/foundation/sponsorship.html">Donate</a></li>
<li class="toctree-l1"><a class="reference external" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li class="toctree-l1"><a class="reference external" href="https://www.apache.org/security/">Security</a></li>
</ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Links</span></p>
<ul class="nav bd-sidenav">
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/datafusion">GitHub and Issue Tracker</a></li>
<li class="toctree-l1"><a class="reference external" href="https://crates.io/crates/datafusion">crates.io</a></li>
<li class="toctree-l1"><a class="reference external" href="https://docs.rs/datafusion/latest/datafusion/">API Docs</a></li>
<li class="toctree-l1"><a class="reference external" href="https://datafusion.apache.org/blog/">Blog</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/datafusion/blob/main/CODE_OF_CONDUCT.md">Code of conduct</a></li>
<li class="toctree-l1"><a class="reference internal" href="download.html">Download</a></li>
</ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">User Guide</span></p>
<ul class="nav bd-sidenav">
<li class="toctree-l1"><a class="reference internal" href="user-guide/introduction.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/example-usage.html">Example Usage</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/features.html">Features</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/concepts-readings-events.html">Concepts, Readings, Events</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/crate-configuration.html">Crate Configuration</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="user-guide/cli/index.html">DataFusion CLI</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="user-guide/cli/overview.html">Overview</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/cli/installation.html">Installation</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/cli/usage.html">Usage</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/cli/datasources.html">Local Files / Directories</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/cli/functions.html">CLI Specific Functions</a></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/dataframe.html">DataFrame API</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/arrow-introduction.html">Gentle Arrow Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/expressions.html">Expression API</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="user-guide/sql/index.html">SQL Reference</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/data_types.html">Data Types</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/select.html">SELECT syntax</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/subqueries.html">Subqueries</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/ddl.html">DDL</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/dml.html">DML</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/explain.html">EXPLAIN</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/information_schema.html">Information Schema</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/operators.html">Operators and Literals</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/aggregate_functions.html">Aggregate Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/window_functions.html">Window Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/scalar_functions.html">Scalar Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/special_functions.html">Special Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/format_options.html">Format Options</a></li>
<li class="toctree-l2"><a class="reference internal" href="user-guide/sql/prepared_statements.html">Prepared Statements</a></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/configs.html">Configuration Settings</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/explain-usage.html">Reading Explain Plans</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/metrics.html">Metrics</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/faq.html">Frequently Asked Questions</a></li>
</ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Library User Guide</span></p>
<ul class="nav bd-sidenav">
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/upgrading.html">Upgrade Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/extensions.html">Extensions List</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/using-the-sql-api.html">Using the SQL API</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/working-with-exprs.html">Working with <code class="docutils literal notranslate"><span class="pre">Expr</span></code>s</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/using-the-dataframe-api.html">Using the DataFrame API</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/building-logical-plans.html">Building Logical Plans</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/catalogs.html">Catalogs, Schemas, and Tables</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="library-user-guide/functions/index.html">Functions</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="library-user-guide/functions/adding-udfs.html">Adding User Defined Functions: Scalar/Window/Aggregate/Table Functions</a></li>
<li class="toctree-l2"><a class="reference internal" href="library-user-guide/functions/spark.html">Spark Compatible Functions</a></li>
</ul>
</details></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/custom-table-providers.html">Custom Table Provider</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/table-constraints.html">Table Constraint Enforcement</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/extending-operators.html">Extending DataFusion’s operators: custom LogicalPlan and Execution Plans</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/profiling.html">Profiling Cookbook</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/query-optimizer.html">DataFusion Query Optimizer</a></li>
</ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Contributor Guide</span></p>
<ul class="nav bd-sidenav">
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/communication.html">Communication</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/development_environment.html">Development Environment</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/architecture.html">Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/testing.html">Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/api-health.html">API health policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/howtos.html">HOWTOs</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/roadmap.html">Roadmap and Improvement Proposals</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/governance.html">Governance</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/inviting.html">Inviting New Committers and PMC Members</a></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="contributor-guide/specification/index.html">Specifications</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="contributor-guide/specification/invariants.html">Invariants</a></li>
<li class="toctree-l2"><a class="reference internal" href="contributor-guide/specification/output-field-name-semantic.html">Output field name semantics</a></li>
</ul>
</details></li>
<li class="toctree-l1 has-children"><a class="reference internal" href="contributor-guide/gsoc/index.html">Google Summer of Code (GSOC)</a><details><summary><span class="toctree-toggle" role="presentation"><i class="fa-solid fa-chevron-down"></i></span></summary><ul>
<li class="toctree-l2"><a class="reference internal" href="contributor-guide/gsoc/gsoc_application_guidelines_2025.html">GSoC Application Guidelines (2025)</a></li>
<li class="toctree-l2"><a class="reference internal" href="contributor-guide/gsoc/gsoc_project_ideas_2025.html">GSoC Project Ideas (2025)</a></li>
</ul>
</details></li>
</ul>
<p aria-level="2" class="caption" role="heading"><span class="caption-text">DataFusion Subprojects</span></p>
<ul class="nav bd-sidenav">
<li class="toctree-l1"><a class="reference external" href="https://datafusion.apache.org/ballista/">DataFusion Ballista</a></li>
<li class="toctree-l1"><a class="reference external" href="https://datafusion.apache.org/comet/">DataFusion Comet</a></li>
<li class="toctree-l1"><a class="reference external" href="https://datafusion.apache.org/python/">DataFusion Python</a></li>
</ul>
</div>
</nav></div>
</div>
<div class="sidebar-primary-items__end sidebar-primary__section">
<div class="sidebar-primary-item">
<div id="ethical-ad-placement"
class="flat"
data-ea-publisher="readthedocs"
data-ea-type="readthedocs-sidebar"
data-ea-manual="true">
</div></div>
</div>
</div>
<main id="main-content" class="bd-main" role="main">
<div class="bd-content">
<div class="bd-article-container">
<div class="bd-header-article d-print-none"></div>
<div id="searchbox"></div>
<article class="bd-article">
<img alt="DataFusion Logo" class="light-logo" src="_images/original.svg" />
<img alt="DataFusion Logo" class="dark-logo" src="_images/original_dark.svg" />
<section id="apache-datafusion">
<h1>Apache DataFusion<a class="headerlink" href="#apache-datafusion" title="Link to this heading">#</a></h1>
<style type="text/css">
.custom-social-badge{display:inline;padding:4px}.custom-social-badge a{text-decoration:none;outline:0}.custom-social-badge .widget{display:inline-block;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif;font-size:0;line-height:0;white-space:nowrap}.custom-social-badge .btn:not(:last-child){border-radius:.25em 0 0 .25em}.custom-social-badge .widget-lg .btn{height:28px;padding:5px 10px;font-size:12px;line-height:16px}.custom-social-badge .btn{border-radius:.25em;color:#25292e;background-color:#ebf0f4;border-color:#d1d9e0;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23f6f8fa'/%3e%3cstop offset='90%25' stop-color='%23ebf0f4'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:-moz-linear-gradient(top,#f6f8fa,#ebf0f4 90%);background-image:linear-gradient(180deg,#f6f8fa,#ebf0f4 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr='#FFF6F8FA',endColorstr='#FFEAEFF3');filter:none;position:relative;display:inline-block;display:inline-flex;height:14px;padding:2px 5px;font-size:11px;font-weight:600;line-height:14px;vertical-align:bottom;cursor:pointer;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-repeat:repeat-x;background-position:-1px -1px;background-size:110% 110%}.custom-social-badge .btn:hover,.custom-social-badge .btn:focus{background-color:#e5eaee;background-position:0 -.5em;border-color:#d1d9e0;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg'%3e%3clinearGradient id='o' x2='0' y2='1'%3e%3cstop stop-color='%23eff2f5'/%3e%3cstop offset='90%25' stop-color='%23e5eaee'/%3e%3c/linearGradient%3e%3crect width='100%25' height='100%25' fill='url(%23o)'/%3e%3c/svg%3e");background-image:-moz-linear-gradient(top,#eff2f5,#e5eaee 90%);background-image:linear-gradient(180deg,#eff2f5,#e5eaee 90%);filter:progid:DXImageTransform.Microsoft.Gradient(startColorstr='#FFEFF2F5',endColorstr='#FFE4E9ED')}.custom-social-badge .btn:hover,.custom-social-badge .btn:focus{filter:none}.custom-social-badge .btn:active{background-color:#e6eaef;border-color:#d1d9e0;background-image:none;filter:none}
</style>
<div class="custom-social-badge">
<span>
<div class="widget widget-lg"><a class="btn" href="https://github.com/apache/datafusion" rel="noopener" target="_blank" target="_blank" aria-label="Star Apache Arrow on GitHub"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" role="img" aria-hidden="true"><path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z" fill="#000"></path></svg>&nbsp;<span>Star</span></a></div>
</span>
</div>
<div class="custom-social-badge">
<span>
<div class="widget widget-lg"><a class="btn" href="https://github.com/apache/datafusion/fork" rel="noopener" target="_blank" target="_blank" aria-label="Star Apache Arrow on GitHub"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16" fill="none" role="img" aria-hidden="true"><path d="M8 0c4.42 0 8 3.58 8 8a8.013 8.013 0 0 1-5.45 7.59c-.4.08-.55-.17-.55-.38 0-.27.01-1.13.01-2.2 0-.75-.25-1.23-.54-1.48 1.78-.2 3.65-.88 3.65-3.95 0-.88-.31-1.59-.82-2.15.08-.2.36-1.02-.08-2.12 0 0-.67-.22-2.2.82-.64-.18-1.32-.27-2-.27-.68 0-1.36.09-2 .27-1.53-1.03-2.2-.82-2.2-.82-.44 1.1-.16 1.92-.08 2.12-.51.56-.82 1.28-.82 2.15 0 3.06 1.86 3.75 3.64 3.95-.23.2-.44.55-.51 1.07-.46.21-1.61.55-2.33-.66-.15-.24-.6-.83-1.23-.82-.67.01-.27.38.01.53.34.19.73.9.82 1.13.16.45.68 1.31 2.69.94 0 .67.01 1.3.01 1.49 0 .21-.15.45-.55.38A7.995 7.995 0 0 1 0 8c0-4.42 3.58-8 8-8Z" fill="#000"></path></svg>&nbsp;<span>Fork</span></a></div>
</span>
</div><p>DataFusion is an extensible query engine written in <a class="reference external" href="http://rustlang.org">Rust</a> that
uses <a class="reference external" href="https://arrow.apache.org">Apache Arrow</a> as its in-memory format.</p>
<p>The documentation on this site is for the <a class="reference external" href="https://github.com/apache/datafusion">core DataFusion project</a>, which contains
libraries and binaries for developers building fast and feature rich database and analytic systems,
customized to particular workloads. See <a class="reference external" href="https://datafusion.apache.org/user-guide/introduction.html#use-cases">use cases</a> for examples.</p>
<p>The following related subprojects target end users and have separate documentation.</p>
<ul class="simple">
<li><p><a class="reference external" href="https://datafusion.apache.org/python/">DataFusion Python</a> offers a Python interface for SQL and DataFrame
queries.</p></li>
<li><p><a class="reference external" href="https://datafusion.apache.org/comet/">DataFusion Comet</a> is an accelerator for Apache Spark based on
DataFusion.</p></li>
<li><p><a class="reference external" href="https://datafusion.apache.org/ballista/">DataFusion Ballista</a> is distributed processing extension for DataFusion.</p></li>
</ul>
<p>“Out of the box,” DataFusion offers <a class="reference external" href="https://datafusion.apache.org/user-guide/sql/index.html">SQL</a>
and <a class="reference external" href="https://docs.rs/datafusion/latest/datafusion/dataframe/struct.DataFrame.html">Dataframe</a> APIs,
excellent <a class="reference external" href="https://benchmark.clickhouse.com/">performance</a>, built-in support for CSV, Parquet, JSON, and Avro,
extensive customization, and a great community.
<a class="reference external" href="https://github.com/apache/datafusion-python">Python Bindings</a> are also available.
<a class="reference external" href="https://datafusion.apache.org/ballista/">Ballista</a> is Apache DataFusion extension enabling the parallelized execution of workloads across multiple nodes in a distributed environment.</p>
<p>DataFusion features a full query planner, a columnar, streaming, multi-threaded,
vectorized execution engine, and partitioned data sources. You can
customize DataFusion at almost all points including additional data sources,
query languages, functions, custom operators and more.
See the <a class="reference external" href="https://datafusion.apache.org/contributor-guide/architecture.html">Architecture</a> section for more details.</p>
<p>To get started, see</p>
<ul class="simple">
<li><p>The <a class="reference external" href="user-guide/example-usage.html">example usage</a> section of the user guide and the <a class="reference external" href="https://github.com/apache/datafusion/tree/main/datafusion-examples">datafusion-examples</a> directory.</p></li>
<li><p>The <a class="reference external" href="library-user-guide/index.html">library user guide</a> for examples of using DataFusion’s extension APIs</p></li>
<li><p>The <a class="reference external" href="contributor-guide/index.html#developer-s-guide">developer’s guide</a> for contributing and <a class="reference external" href="contributor-guide/communication.html">communication</a> for getting in touch with us.</p></li>
</ul>
<div class="toctree-wrapper compound" id="toc-asf-links">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">ASF Links</span></p>
<ul>
<li class="toctree-l1"><a class="reference external" href="https://apache.org">Apache Software Foundation</a></li>
<li class="toctree-l1"><a class="reference external" href="https://www.apache.org/licenses/">License</a></li>
<li class="toctree-l1"><a class="reference external" href="https://www.apache.org/foundation/sponsorship.html">Donate</a></li>
<li class="toctree-l1"><a class="reference external" href="https://www.apache.org/foundation/thanks.html">Thanks</a></li>
<li class="toctree-l1"><a class="reference external" href="https://www.apache.org/security/">Security</a></li>
</ul>
</div>
<div class="toctree-wrapper compound" id="toc-links">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Links</span></p>
<ul>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/datafusion">GitHub and Issue Tracker</a></li>
<li class="toctree-l1"><a class="reference external" href="https://crates.io/crates/datafusion">crates.io</a></li>
<li class="toctree-l1"><a class="reference external" href="https://docs.rs/datafusion/latest/datafusion/">API Docs</a></li>
<li class="toctree-l1"><a class="reference external" href="https://datafusion.apache.org/blog/">Blog</a></li>
<li class="toctree-l1"><a class="reference external" href="https://github.com/apache/datafusion/blob/main/CODE_OF_CONDUCT.md">Code of conduct</a></li>
<li class="toctree-l1"><a class="reference internal" href="download.html">Download</a></li>
</ul>
</div>
<div class="toctree-wrapper compound" id="toc-guide">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">User Guide</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="user-guide/introduction.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/example-usage.html">Example Usage</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/features.html">Features</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/concepts-readings-events.html">Concepts, Readings, Events</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/concepts-readings-events.html#community-events">🌎 Community Events</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/crate-configuration.html">Crate Configuration</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/cli/index.html">DataFusion CLI</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/dataframe.html">DataFrame API</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/arrow-introduction.html">Gentle Arrow Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/expressions.html">Expression API</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/sql/index.html">SQL Reference</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/configs.html">Configuration Settings</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/configs.html#runtime-configuration-settings">Runtime Configuration Settings</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/configs.html#tuning-guide">Tuning Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/configs.html#join-algorithm-optimizer-configurations">Join Algorithm Optimizer Configurations</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/explain-usage.html">Reading Explain Plans</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/metrics.html">Metrics</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/faq.html">Frequently Asked Questions</a></li>
<li class="toctree-l1"><a class="reference internal" href="user-guide/faq.html#how-does-datafusion-compare-with-xyz">How does DataFusion Compare with <code class="docutils literal notranslate"><span class="pre">XYZ</span></code>?</a></li>
</ul>
</div>
<div class="toctree-wrapper compound" id="toc-library-user-guide">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Library User Guide</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/upgrading.html">Upgrade Guides</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/extensions.html">Extensions List</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/using-the-sql-api.html">Using the SQL API</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/working-with-exprs.html">Working with <code class="docutils literal notranslate"><span class="pre">Expr</span></code>s</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/using-the-dataframe-api.html">Using the DataFrame API</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/using-the-dataframe-api.html#write-dataframe-to-files">Write DataFrame to Files</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/building-logical-plans.html">Building Logical Plans</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/catalogs.html">Catalogs, Schemas, and Tables</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/functions/index.html">Functions</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/custom-table-providers.html">Custom Table Provider</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/table-constraints.html">Table Constraint Enforcement</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/extending-operators.html">Extending DataFusion’s operators: custom LogicalPlan and Execution Plans</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/profiling.html">Profiling Cookbook</a></li>
<li class="toctree-l1"><a class="reference internal" href="library-user-guide/query-optimizer.html">DataFusion Query Optimizer</a></li>
</ul>
</div>
<div class="toctree-wrapper compound">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">Contributor Guide</span></p>
<ul>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/index.html">Introduction</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/index.html#developer-s-guide">Developer’s guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/communication.html">Communication</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/development_environment.html">Development Environment</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/architecture.html">Architecture</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/testing.html">Testing</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/api-health.html">API health policy</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/howtos.html">HOWTOs</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/roadmap.html">Roadmap and Improvement Proposals</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/governance.html">Governance</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/inviting.html">Inviting New Committers and PMC Members</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/specification/index.html">Specifications</a></li>
<li class="toctree-l1"><a class="reference internal" href="contributor-guide/gsoc/index.html">Google Summer of Code (GSOC)</a></li>
</ul>
</div>
<div class="toctree-wrapper compound" id="toc-subprojects">
<p aria-level="2" class="caption" role="heading"><span class="caption-text">DataFusion Subprojects</span></p>
<ul>
<li class="toctree-l1"><a class="reference external" href="https://datafusion.apache.org/ballista/">DataFusion Ballista</a></li>
<li class="toctree-l1"><a class="reference external" href="https://datafusion.apache.org/comet/">DataFusion Comet</a></li>
<li class="toctree-l1"><a class="reference external" href="https://datafusion.apache.org/python/">DataFusion Python</a></li>
</ul>
</div>
</section>
</article>
<footer class="prev-next-footer d-print-none">
<div class="prev-next-area">
<a class="right-next"
href="download.html"
title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Download</p>
</div>
<i class="fa-solid fa-angle-right"></i>
</a>
</div>
</footer>
</div>
<dialog id="pst-secondary-sidebar-modal"></dialog>
<div id="pst-secondary-sidebar" class="bd-sidebar-secondary bd-toc"><div class="sidebar-secondary-items sidebar-secondary__inner">
<div class="sidebar-secondary-item">
<div class="tocsection editthispage">
<a href="https://github.com/apache/arrow-datafusion/edit/main/docs/source/index.rst">
<i class="fa-solid fa-pencil"></i>
Edit on GitHub
</a>
</div>
</div>
<div class="sidebar-secondary-item">
<div role="note" aria-label="source link">
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/index.rst.txt"
rel="nofollow">Show Source</a></li>
</ul>
</div></div>
</div></div>
</div>
<footer class="bd-footer-content">
</footer>
</main>
</div>
</div>
<!-- Scripts loaded after <body> so the DOM is not blocked -->
<script defer src="_static/scripts/bootstrap.js?digest=8878045cc6db502f8baf"></script>
<script defer src="_static/scripts/pydata-sphinx-theme.js?digest=8878045cc6db502f8baf"></script>
<!-- Based on pydata_sphinx_theme/footer.html -->
<footer class="footer mt-5 mt-md-0">
<div class="container">
<div class="footer-item">
<p>Apache DataFusion, Apache, the Apache feather logo, and the Apache DataFusion project logo</p>
<p>are either registered trademarks or trademarks of The Apache Software Foundation in the United States and other countries.</p>
</div>
</div>
</footer>
</body>
</html>