{"id":39349532,"url":"https://github.com/pixelsdb/pixels-trino","last_synced_at":"2026-01-18T02:27:43.009Z","repository":{"id":37048900,"uuid":"470800593","full_name":"pixelsdb/pixels-trino","owner":"pixelsdb","description":"The Pixels connector for Trino.","archived":false,"fork":false,"pushed_at":"2025-12-20T15:12:23.000Z","size":369,"stargazers_count":101,"open_issues_count":3,"forks_count":26,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-12-22T17:57:17.918Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"agpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/pixelsdb.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2022-03-17T00:55:58.000Z","updated_at":"2025-12-20T15:12:27.000Z","dependencies_parsed_at":"2023-11-28T21:33:49.737Z","dependency_job_id":"bfbd0b18-f32f-425c-bc46-8a49f728127b","html_url":"https://github.com/pixelsdb/pixels-trino","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/pixelsdb/pixels-trino","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelsdb%2Fpixels-trino","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelsdb%2Fpixels-trino/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelsdb%2Fpixels-trino/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelsdb%2Fpixels-trino/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/pixelsdb","download_url":"https://codeload.github.com/pixelsdb/pixels-trino/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/pixelsdb%2Fpixels-trino/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28526569,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-18T00:39:45.795Z","status":"online","status_checked_at":"2026-01-18T02:00:07.578Z","response_time":98,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"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":"2026-01-18T02:27:42.920Z","updated_at":"2026-01-18T02:27:42.997Z","avatar_url":"https://github.com/pixelsdb.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"# pixels-trino\nThe Pixels connector for Trino.\n\n## Compatibility\nPixels integration (connector \u0026 event listener) is currently compatible with Trino 466.\nOther Trino versions that are compatible\nwith the Connector SPI in Trino 466 should also work well with Pixels.\n\n## Build\nThis project can be opened as a maven project in Intellij and built using maven.\n\n**Note** that Trino 466 requires Java 23.0.0+, thus this project should be built by JDK 23\n(Azul Zulu JDK 23.0.1+11 is tested).\n\n[Pixels](https://github.com/pixelsdb/pixels) is the parent of this project,\ntherefore use `mvn install` to install Pixels modules into your local maven repository,\nbefore building this project.\n\nAfter building `pixels-trino`, find the following zip files in the build target directories:\n* `pixels-trino-listener-*.zip`, this is the event listener plugin for Trino.\n* `pixels-trino-connector-*.zip`, this is the connector for Trino.\n\nThey will be used in the following steps.\n\n\n## Use Pixels in Trino\nFollow the instructions in\n[Pixels Installation](https://github.com/pixelsdb/pixels/blob/master/docs/INSTALL.md) to install Pixels and other components except Trino.\nAfter that, follow this document to install Trino and use it to query Pixels.\nEnsure Java 23 is in use as it is required by Trino 466.\n\n\n### Install Trino\n\nDownload and install Trino 466 following the instructions in [Trino Docs](https://trino.io/docs/466/installation/deployment.html).\n\nHere, we install Trino to `~/opt/trino-server-466` and create a link for it:\n```bash\ncd ~/opt; ln -s trino-server-466 trino-server\n```\nThen download [trino-cli](https://trinodb.github.io/docs.trino.io/466/client/cli.html) into `~/opt/trino-server/bin/`\nand give the executable permission to it.\n\n\n### Install Pixels Connector\nThere are two important directories in the home of trino-server: `etc` and `plugin`.\nTo install Pixels connector, decompress `pixels-trino-connector-*.zip` into the `plugin` directory.\nThe `etc` directory contains the configuration files of Trino.\nIn addition to the configurations mentioned in the official docs, \ncreate the catalog config file named `pixels.properties` for Pixels in the `etc/catalog` directory, with the following content:\n```properties\nconnector.name=pixels\n\n# serverless config\n# it can be on, off, auto, or session\ncloud.function.switch=off\nclean.intermediate.result=true\n```\n**Note** that `etc/catalog/pixels.proterties` under Trino's home is different from `PIXELS_HOME/pixels.properties`.\nIn Trino, Pixels can push projections, filters, joins, and aggregations into serverless computing services (e.g., AWS Lambda).\nThis feature is named `Pixels-Turbo` and can be turned on by setting `cloud.function.switch` to `auto` (adaptively enabled) or `on` (always enabled).\nTurn it `off` to only use Trino workers for query processing.\nWe can also set it to `session` so that this switch can be dynamically turned on or off by the session properties `pixels.cloud_function_enabled`.\nThis allows `pixels-server` choosing whether to execute the query with cloud functions enabled.\n\nAppend the following two lines into `etc/jvm.config`:\n```config\n--add-opens=java.base/sun.nio.ch=ALL-UNNAMED\n--add-opens=java.base/java.nio=ALL-UNNAMED\n```\nThus, pixels can reflect internal or low-level classes to improve performance. This is only needed for Java 9+.\n\n\n### Install Pixels Event Listener*\nPixels event listener is optional. It is used to collect the query completion information for performance evaluations.\nTo install the event listener, decompress `pixels-trino-listener-*.zip` into the `plugin` directory.\n\nCreate the listener config file named `event-listener.properties` in the `etc` directory, with the following content:\n```properties\nevent-listener.name=pixels-event-listener\nenabled=true\nlistened.user.prefix=none\nlistened.schema=pixels\nlistened.query.type=SELECT\nlog.dir=/home/ubuntu/opt/pixels/listener/\n```\n`log-dir` should point to\nan existing directory where the listener logs will appear.\n\n\n### Run Queries\n\nStart Pixels + Trino following the instructions in [Starting Pixels + Trino](https://github.com/pixelsdb/pixels/blob/master/docs/INSTALL.md).\nThen, you can test the query performance following [TPC-H Evaluation](https://github.com/pixelsdb/pixels/blob/master/docs/TPC-H.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixelsdb%2Fpixels-trino","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpixelsdb%2Fpixels-trino","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpixelsdb%2Fpixels-trino/lists"}