{"id":13510092,"url":"https://github.com/airbnb/airpal","last_synced_at":"2025-03-30T15:30:40.265Z","repository":{"id":16710257,"uuid":"19467101","full_name":"airbnb/airpal","owner":"airbnb","description":"Web UI for PrestoDB.","archived":true,"fork":false,"pushed_at":"2021-05-20T15:39:40.000Z","size":9666,"stargazers_count":2750,"open_issues_count":87,"forks_count":456,"subscribers_count":222,"default_branch":"master","last_synced_at":"2025-03-23T22:50:06.089Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://airbnb.github.io/airpal","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/airbnb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2014-05-05T18:51:30.000Z","updated_at":"2025-03-23T14:06:51.000Z","dependencies_parsed_at":"2022-07-26T08:48:08.823Z","dependency_job_id":null,"html_url":"https://github.com/airbnb/airpal","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airbnb%2Fairpal","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airbnb%2Fairpal/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airbnb%2Fairpal/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/airbnb%2Fairpal/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/airbnb","download_url":"https://codeload.github.com/airbnb/airpal/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246338617,"owners_count":20761408,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T02:01:23.793Z","updated_at":"2025-03-30T15:30:35.255Z","avatar_url":"https://github.com/airbnb.png","language":"Java","readme":"# DEPREACTED - Airpal\n\nAirpal is deprecated, and most functionality and feature work has been moved to SQL Lab within [Apache Superset](https://www.github.com/apache/superset).\n\n---\n\nAirpal is a web-based, query execution tool which leverages Facebook's [PrestoDB](http://prestodb.io)\nto make authoring queries and retrieving results simple for users.\nAirpal provides the ability to find tables, see metadata, browse sample rows,\nwrite and edit queries, then submit queries all in a web interface. Once\nqueries are running, users can track query progress and when finished,\nget the results back through the browser as a CSV (download it or share it\nwith friends). The results of a query can be used to generate a new Hive table\nfor subsequent analysis, and Airpal maintains a searchable history of all\nqueries run within the tool.\n\n* [Features](#features)\n* [Requirements](#requirements)\n* [Launching](#steps-to-launch)\n* [Presto Compatibility Chart](#compatibility-chart)\n\n![Airpal UI](screenshots/demo.gif)\n\n## Features\n\n* Optional [Access Control](docs/USER_ACCOUNTS.md)\n* Syntax highlighting\n* Results exported to a CSV for download or a Hive table\n* Query history for self and others\n* Saved queries\n* Table finder to search for appropriate tables\n* Table explorer to visualize schema of table and first 1000 rows\n\n## Requirements\n\n* Java 7 or higher\n* MySQL database\n* [Presto](http://prestodb.io) 0.77 or higher\n* S3 bucket (to store CSVs)\n* Gradle 2.2 or higher\n\n\n## Steps to launch\n\n1. Build Airpal\n\n    We'll be using [Gradle](https://www.gradle.org/) to build the back-end Java code\n    and a [Node.js](http://nodejs.org/)-based build pipeline ([Browserify](http://browserify.org/)\n    and [Gulp](http://gulpjs.com/)) to build the front-end Javascript code.\n\n    If you have `node` and `npm` installed locally, and wish to use\n    them, simply run:\n\n    ```\n    ./gradlew clean shadowJar -Dairpal.useLocalNode\n    ```\n\n    Otherwise, `node` and `npm` will be automatically downloaded for you\n    by running:\n\n    ```\n    ./gradlew clean shadowJar\n    ```\n\n    Specify Presto version by `-Dairpal.prestoVersion`:\n\n    ```\n    ./gradlew -Dairpal.prestoVersion=0.145 clean shadowJar\n    ```\n\n1. Create a MySQL database for Airpal. We recommend you call it `airpal` and will assume that for future steps.\n\n1. Create a `reference.yml` file to store your configuration options.\n\n    Start by copying over the example configuration, `reference.example.yml`.\n\n    ```\n    cp reference.example.yml reference.yml\n    ```\n    Then edit it to specify your MySQL credentials, and your S3 credentials if\n    using S3 as a storage layer (Airpal defaults to local file storage, for\n    demonstration purposes).\n\n1. Migrate your database.\n\n    ```\n    java -Duser.timezone=UTC \\\n         -cp build/libs/airpal-*-all.jar com.airbnb.airpal.AirpalApplication db migrate reference.yml\n    ```\n\n1. Run Airpal.\n\n    ```\n    java -server \\\n         -Duser.timezone=UTC \\\n         -cp build/libs/airpal-*-all.jar com.airbnb.airpal.AirpalApplication server reference.yml\n    ```\n\n1. Visit Airpal.\n    Assuming you used the default settings in `reference.yml` you can\n    now open http://localhost:8081 to use Airpal. Note that you might\n    have to change the host, depending on where you deployed it.\n\n*Note:* To override the configuration specified in `reference.yml`, you may\nspecify certain settings on the command line in [the traditional Dropwizard\nfashion](https://dropwizard.github.io/dropwizard/manual/core.html#configuration),\nlike so:\n\n```\njava -Ddw.prestoCoordinator=http://presto-coordinator-url.com \\\n     -Ddw.s3AccessKey=$ACCESS_KEY \\\n     -Ddw.s3SecretKey=$SECRET_KEY \\\n     -Ddw.s3Bucket=airpal \\\n     -Ddw.dataSourceFactory.url=jdbc:mysql://127.0.0.1:3306/airpal \\\n     -Ddw.dataSourceFactory.user=airpal \\\n     -Ddw.dataSourceFactory.password=$YOUR_PASSWORD \\\n     -Duser.timezone=UTC \\\n     -cp build/libs/airpal-*-all.jar db migrate reference.yml\n```\n\n\n## Compatibility Chart\n\nAirpal Version | Presto Versions Tested\n---------------|-----------------------\n0.1            | 0.77, 0.87, 0.145\n\n## In the Wild\nOrganizations and projects using `airpal` can list themselves [here](INTHEWILD.md).\n\n## Contributors\n\n- Andy Kramolisch [@andykram](https://github.com/andykram)\n- Harry Shoff [@hshoff](https://github.com/hshoff)\n- Josh Perez [@goatslacker](https://github.com/goatslacker)\n- Spike Brehm [@spikebrehm](https://github.com/spikebrehm)\n- Stefan Vermaas [@stefanvermaas](https://github.com/stefanvermaas)\n","funding_links":[],"categories":["Java","Data Visualization","others","II. Databases, search engines, big data and machine learning"],"sub_categories":["4. Client and drivers for databases"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairbnb%2Fairpal","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fairbnb%2Fairpal","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fairbnb%2Fairpal/lists"}