blob: b4a751a708861385215e0cd3bb8af46c6ed77b80 [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>Ballista Code Organization &#8212; Apache Arrow Ballista documentation</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?v=362ab14a" />
<link rel="stylesheet" type="text/css" href="../_static/styles/pydata-sphinx-theme.css?v=1140d252" />
<link rel="stylesheet" type="text/css" href="../_static/theme_overrides.css?v=ef9fea58" />
<link rel="preload" as="script" href="../_static/scripts/pydata-sphinx-theme.js?digest=1999514e3f237ded88cf">
<script src="../_static/documentation_options.js?v=8a448e45"></script>
<script src="../_static/doctools.js?v=888ff710"></script>
<script src="../_static/sphinx_highlight.js?v=dc90522c"></script>
<link rel="index" title="Index" href="../genindex.html" />
<link rel="search" title="Search" href="../search.html" />
<link rel="next" title="Ballista Development" href="development.html" />
<link rel="prev" title="Ballista Architecture" href="architecture.html" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="docsearch:language" content="en">
<!-- Google Analytics -->
</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/images/ballista-logo.png" class="logo" alt="logo">
</a>
<form 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>
<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">
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>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Cluster Deployment
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1 has-children">
<a class="reference internal" href="../user-guide/deployment/index.html">
Deployment
</a>
<input 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>
<li class="toctree-l2">
<a class="reference internal" href="../user-guide/deployment/quick-start.html">
Quick Start
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../user-guide/deployment/cargo-install.html">
Cargo Install
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../user-guide/deployment/docker.html">
Docker
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../user-guide/deployment/docker-compose.html">
Docker Compose
</a>
</li>
<li class="toctree-l2">
<a class="reference internal" href="../user-guide/deployment/kubernetes.html">
Kubernetes
</a>
</li>
</ul>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../user-guide/scheduler.html">
Scheduler
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Clients
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="../user-guide/python.html">
Python
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../user-guide/rust.html">
Rust
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../user-guide/flightsql.html">
Flight SQL JDBC
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../user-guide/cli.html">
SQL CLI
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Reference
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="../user-guide/configs.html">
Configuration
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../user-guide/tuning-guide.html">
Tuning Guide
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="../user-guide/metrics.html">
Ballista Scheduler 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">
Contributors Guide
</span>
</p>
<ul class="current nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="architecture.html">
Ballista Architecture
</a>
</li>
<li class="toctree-l1 current active">
<a class="current reference internal" href="#">
Ballista Code Organization
</a>
</li>
<li class="toctree-l1">
<a class="reference internal" href="development.html">
Ballista Development
</a>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://github.com/apache/arrow-ballista/">
Source code
</a>
</li>
</ul>
<p aria-level="2" class="caption" role="heading">
<span class="caption-text">
Community
</span>
</p>
<ul class="nav bd-sidenav">
<li class="toctree-l1">
<a class="reference internal" href="../community/communication.html">
Communication
</a>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://github.com/apache/arrow-ballista/issues">
Issue tracker
</a>
</li>
<li class="toctree-l1">
<a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/CODE_OF_CONDUCT.md">
Code of conduct
</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="#ballista-core-crate">
ballista-core crate
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#ballista-scheduler-crate">
ballista-scheduler crate
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#ballista-executor-crate">
ballista-executor crate
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#ballista-crate">
ballista crate
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#pyballista">
PyBallista
</a>
</li>
</ul>
</nav>
</div>
<div class="toc-item">
<div class="tocsection editthispage">
<a href="https://github.com/apache/arrow-ballista/edit/main/docs/source/contributors-guide/code-organization.md">
<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>
<!---
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing,
software distributed under the License is distributed on an
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, either express or implied. See the License for the
specific language governing permissions and limitations
under the License.
-->
<section id="ballista-code-organization">
<h1>Ballista Code Organization<a class="headerlink" href="#ballista-code-organization" title="Link to this heading"></a></h1>
<p>This section provides links to the source code for major areas of functionality.</p>
<section id="ballista-core-crate">
<h2>ballista-core crate<a class="headerlink" href="#ballista-core-crate" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/ballista/core">Crate Source</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/ballista/core/proto/ballista.proto">Protocol Buffer Definition</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/tree/main/ballista/core/src/execution_plans">Execution Plans</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/ballista/core/src/client.rs">Ballista Client</a></p></li>
</ul>
</section>
<section id="ballista-scheduler-crate">
<h2>ballista-scheduler crate<a class="headerlink" href="#ballista-scheduler-crate" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/tree/main/ballista/scheduler">Crate Source</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/ballista/scheduler/src/planner.rs">Distributed Query Planner</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/ballista/scheduler/src/scheduler_server/grpc.rs">gRPC Service</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/ballista/scheduler/src/flight_sql.rs">Flight SQL Service</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/tree/main/ballista/scheduler/src/api">REST API</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/tree/main/ballista/scheduler/ui">Web UI</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/ballista/scheduler/src/metrics/prometheus.rs">Prometheus Integration</a></p></li>
</ul>
</section>
<section id="ballista-executor-crate">
<h2>ballista-executor crate<a class="headerlink" href="#ballista-executor-crate" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/tree/main/ballista/executor">Crate Source</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/ballista/executor/src/flight_service.rs">Flight Service</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/ballista/executor/src/executor_server.rs">Executor Server</a></p></li>
</ul>
</section>
<section id="ballista-crate">
<h2>ballista crate<a class="headerlink" href="#ballista-crate" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/tree/main/ballista/client">Crate Source</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/ballista/client/src/context.rs">Context</a></p></li>
</ul>
</section>
<section id="pyballista">
<h2>PyBallista<a class="headerlink" href="#pyballista" title="Link to this heading"></a></h2>
<ul class="simple">
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/tree/main/python">Source</a></p></li>
<li><p><a class="reference external" href="https://github.com/apache/arrow-ballista/blob/main/python/src/context.rs">Context</a></p></li>
</ul>
</section>
</section>
</div>
<!-- Previous / next buttons -->
<div class='prev-next-area'>
<a class='left-prev' id="prev-link" href="architecture.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">Ballista Architecture</p>
</div>
</a>
<a class='right-next' id="next-link" href="development.html" title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Ballista Development</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>
<!-- Based on pydata_sphinx_theme/footer.html -->
<footer class="footer mt-5 mt-md-0">
<div class="container">
<div class="footer-item">
<p class="copyright">
&copy; Copyright 2019-2024, Apache Software Foundation.<br>
</p>
</div>
<div class="footer-item">
<p class="sphinx-version">
Created using <a href="http://sphinx-doc.org/">Sphinx</a> 7.2.6.<br>
</p>
</div>
<div class="footer-item">
<p>Apache Arrow Ballista, Arrow Ballista, Apache, the Apache feather logo, and the Apache Arrow Ballista 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>