blob: 198a48112c3442d1d07394efc2a8aa99289e3cd6 [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 Development &#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="Communication" href="../community/communication.html" />
<link rel="prev" title="Ballista Code Organization" href="code-organization.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">
<a class="reference internal" href="code-organization.html">
Ballista Code Organization
</a>
</li>
<li class="toctree-l1 current active">
<a class="current reference internal" href="#">
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="#development-environment">
Development Environment
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#build-the-project">
Build the project
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#testing-the-project">
Testing the project
</a>
</li>
<li class="toc-h2 nav-item toc-entry">
<a class="reference internal nav-link" href="#running-the-examples">
Running the examples
</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/development.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-development">
<h1>Ballista Development<a class="headerlink" href="#ballista-development" title="Link to this heading"></a></h1>
<p>We welcome participation from everyone and encourage you to join us, ask
questions, and get involved.</p>
<p>All participation in the Apache Arrow DataFusion project is governed by the
Apache Software Foundation’s <a class="reference external" href="https://www.apache.org/foundation/policies/conduct.html">code of
conduct</a>.</p>
<section id="development-environment">
<h2>Development Environment<a class="headerlink" href="#development-environment" title="Link to this heading"></a></h2>
<p>The easiest way to get started if you are using VSCode or IntelliJ IDEA is to open the provided <a class="reference external" href="https://containers.dev/overview">Dev Container</a>
which will install all the required dependencies including Rust, Docker, Node.js and Yarn. A Dev Container is a
development environment that runs in a Docker container. It is configured with all the required dependencies to
build and test the project. It also includes VS Code and the Rust and Node.js extensions. Other supporting tools
that use Dev Containers can be seen <a class="reference external" href="https://containers.dev/supporting">here</a></p>
<p>To use the Dev Container, open the project in VS Code and then click the “Reopen in Container” button in the
bottom right corner of the IDE.</p>
<p>If you are not using the Dev Container or VScode, you will need to install these dependencies yourself.</p>
<ul class="simple">
<li><p><a class="reference external" href="https://www.rust-lang.org/tools/install">Rust</a></p></li>
<li><p><a class="reference external" href="https://nodejs.org/en/download/">Node.js</a> is required to build the project.</p></li>
<li><p><a class="reference external" href="https://classic.yarnpkg.com/en/docs/install">Yarn</a> is required to build the UI.</p></li>
<li><p><a class="reference external" href="https://docs.docker.com/get-docker/">Docker</a> is required to run the integration tests.</p></li>
</ul>
</section>
<section id="build-the-project">
<h2>Build the project<a class="headerlink" href="#build-the-project" title="Link to this heading"></a></h2>
<p>From the root of the project, build release binaries.</p>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>cargo<span class="w"> </span>build<span class="w"> </span>--release
</pre></div>
</div>
</section>
<section id="testing-the-project">
<h2>Testing the project<a class="headerlink" href="#testing-the-project" title="Link to this heading"></a></h2>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span>cargo<span class="w"> </span><span class="nb">test</span>
</pre></div>
</div>
</section>
<section id="running-the-examples">
<h2>Running the examples<a class="headerlink" href="#running-the-examples" title="Link to this heading"></a></h2>
<div class="highlight-shell notranslate"><div class="highlight"><pre><span></span><span class="nb">cd</span><span class="w"> </span>examples
cargo<span class="w"> </span>run<span class="w"> </span>--example<span class="w"> </span>standalone_sql<span class="w"> </span>--features<span class="o">=</span>ballista/standalone
</pre></div>
</div>
</section>
</section>
</div>
<!-- Previous / next buttons -->
<div class='prev-next-area'>
<a class='left-prev' id="prev-link" href="code-organization.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 Code Organization</p>
</div>
</a>
<a class='right-next' id="next-link" href="../community/communication.html" title="next page">
<div class="prev-next-info">
<p class="prev-next-subtitle">next</p>
<p class="prev-next-title">Communication</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>