{"id":14257785,"url":"https://github.com/apache/polaris","last_synced_at":"2025-04-12T02:54:47.824Z","repository":{"id":242934530,"uuid":"807776416","full_name":"apache/polaris","owner":"apache","description":"Apache Polaris, the interoperable, open source catalog for Apache Iceberg","archived":false,"fork":false,"pushed_at":"2025-04-09T22:08:06.000Z","size":11427,"stargazers_count":1415,"open_issues_count":183,"forks_count":218,"subscribers_count":90,"default_branch":"main","last_synced_at":"2025-04-10T11:59:12.927Z","etag":null,"topics":["apache","iceberg","polaris"],"latest_commit_sha":null,"homepage":"https://polaris.apache.org/","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/apache.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-05-29T18:44:27.000Z","updated_at":"2025-04-10T06:27:24.000Z","dependencies_parsed_at":"2024-06-05T20:29:20.377Z","dependency_job_id":"bfc9b83d-ed1c-41f8-9987-697c0274a1bb","html_url":"https://github.com/apache/polaris","commit_stats":{"total_commits":216,"total_committers":32,"mean_commits":6.75,"dds":0.7824074074074074,"last_synced_commit":"9e26fb69a022241558e3866bd665911ec0a88400"},"previous_names":["snowflakedb/polaris-catalog","polaris-catalog/polaris"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpolaris","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpolaris/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpolaris/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apache%2Fpolaris/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apache","download_url":"https://codeload.github.com/apache/polaris/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248509958,"owners_count":21116125,"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":["apache","iceberg","polaris"],"created_at":"2024-08-22T08:00:57.450Z","updated_at":"2025-04-12T02:54:47.799Z","avatar_url":"https://github.com/apache.png","language":"Java","readme":"\u003c!--\n  Licensed to the Apache Software Foundation (ASF) under one\n  or more contributor license agreements.  See the NOTICE file\n  distributed with this work for additional information\n  regarding copyright ownership.  The ASF licenses this file\n  to you under the Apache License, Version 2.0 (the\n  \"License\"); you may not use this file except in compliance\n  with the License.  You may obtain a copy of the License at\n \n   http://www.apache.org/licenses/LICENSE-2.0\n \n  Unless required by applicable law or agreed to in writing,\n  software distributed under the License is distributed on an\n  \"AS IS\" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY\n  KIND, either express or implied.  See the License for the\n  specific language governing permissions and limitations\n  under the License.\n--\u003e\n\n# Apache Polaris (incubating)\n\nApache Polaris\u0026trade; is an open-source, fully-featured catalog for Apache Iceberg\u0026trade;. It implements Iceberg's \n[REST API](https://github.com/apache/iceberg/blob/main/open-api/rest-catalog-open-api.yaml),\nenabling seamless multi-engine interoperability across a wide range of platforms, including Apache Doris™, Apache Flink®,\nApache Spark™, StarRocks, and Trino.\n\nDocumentation is available at https://polaris.apache.org, including\n[Polaris management API doc](https://polaris.apache.org/index.html#tag/polaris-management-service_other)\nand [Apache Iceberg REST API doc](https://polaris.apache.org/index.html#tag/Configuration-API).\n\n[Subscribe to the dev mailing list][dev-list-subscribe] to join discussions via email or browse [the archives](https://lists.apache.org/list.html?dev@polaris.apache.org). Check out the [CONTRIBUTING guide](CONTRIBUTING.md)\nfor contribution guidelines.\n\n[![Slack](https://img.shields.io/badge/chat-on%20Slack-brightgreen.svg?style=for-the-badge)](https://join.slack.com/t/apache-polaris/shared_invite/zt-2y3l3r0fr-VtoW42ltir~nSzCYOrQgfw)\n[![Build Status](https://img.shields.io/github/actions/workflow/status/apache/polaris/gradle.yml?branch=main\u0026label=Main%20CI\u0026logo=Github\u0026style=for-the-badge)](https://github.com/apache/polaris/actions/workflows/gradle.yml?query=branch%3Amain)\n\n[dev-list-subscribe]: mailto:dev-subscribe@polaris.apache.org\n\n## Building and Running \n\nApache Polaris is organized into the following modules:\n\n- `polaris-core` - The main Polaris entity definitions and core business logic\n- API modules (implementing the Iceberg REST API and Polaris management API):\n  - `polaris-api-management-model` - The Polaris management model\n  - `polaris-api-management-service` - The Polaris management service\n  - `polaris-api-iceberg-service` - The Iceberg REST service\n- Service modules:\n  - `polaris-service-common` - The main components of the Polaris server\n- Quarkus runtime modules:\n  - `polaris-quarkus-service` - The Quarkus-specific components of the Polaris server\n  - `polaris-quarkus-defaults` - The Quarkus-specific configuration defaults\n  - `polaris-quarkus-server` - The Polaris server runtime\n  - `polaris-quarkus-admin-tool` - The Polaris admin \u0026 maintenance tool\n- Persistence modules:\n  - `polaris-jpa-model` - The JPA entity definitions\n  - `polaris-eclipselink` - The Eclipselink implementation of the MetaStoreManager interface\n \nApache Polaris is built using Gradle with Java 21+ and Docker 27+.\n\n- `./gradlew build` - To build and run tests. Make sure Docker is running, as the integration tests depend on it.\n- `./gradlew assemble` - To skip tests.\n- `./gradlew test` - To run unit tests and integration tests.\n- `./gradlew run` - To run the Polaris server locally; the server is reachable at \n  localhost:8181. This is also suitable for running regression tests, or for connecting with Spark. \n- `./regtests/run_spark_sql.sh` - To connect from Spark SQL. Here are some example commands to run in the Spark SQL shell:\n```sql\ncreate database db1;\nshow databases;\ncreate table db1.table1 (id int, name string);\ninsert into db1.table1 values (1, 'a');\nselect * from db1.table1;\n```\n- `env POLARIS_HOST=localhost ./regtests/run.sh` - To run regression tests locally, see more options [here](./regtests/README.md).\n### More build and run options\n\n#### Running in Docker\n\n- `./gradlew clean :polaris-quarkus-server:assemble -Dquarkus.container-image.build=true --no-build-cache` - To \n  build the image locally.\n- `docker run -p 8181:8181 -p 8182:8182 apache/polaris:latest` - To run the image.\n\nThe Polaris codebase contains some docker compose examples to quickly get started with Polaris,\nusing different configurations. Check the `./getting-started` directory for more information.\n\n#### Running in Kubernetes\n\n- `./run.sh` - To run Polaris as a mini-deployment locally. This will create a Kind cluster, \n  then deploy one pod and one service. The service is available on ports `8181` and `8182`.\n- `kubectl port-forward svc/polaris-service -n polaris 8181:8181 8182:8182` - To create secure \n  connections between a local machine and a pod within the cluster for both service and \n  health/metrics endpoints:\n  - http://localhost:8182/q/metrics\n  - http://localhost:8182/q/health\n- `kubectl get pods -n polaris` - To check the status of the pods.\n- `kubectl get deployment -n polaris` - To check the status of the deployment.\n- `kubectl describe deployment polaris-deployment -n polaris` - To troubleshoot if things aren't working as expected.\n\n#### Configuring Polaris\n\nPolaris Servers can be configured using a variety of ways.\nPlease see the [Configuration Guide](site/content/in-dev/unreleased/configuration.md)\nfor more information.\n\nDefault configuration values can be found in `quarkus/defaults/src/main/resources/application.properties`.\n\n#### Building docs\n\n- Docs are generated using [Hugo](https://gohugo.io/) using the [Docsy](https://www.docsy.dev/docs/) theme.\n- To view the site locally, run\n  ```bash\n  site/bin/run-hugo-in-docker.sh\n  ```\n- See [README in `site/`](site/README.md) for more information.\n\n## License\n\nApache Polaris is under the Apache License Version 2.0. See the [LICENSE](LICENSE).\n\n## ASF Incubator disclaimer\n\nApache Polaris\u0026trade; is an effort undergoing incubation at The Apache Software Foundation (ASF), sponsored by the Apache Incubator. Incubation is required of all newly accepted projects until a further review indicates that the infrastructure, communications, and decision making process have stabilized in a manner consistent with other successful ASF projects. While incubation status is not necessarily a reflection of the completeness or stability of the code, it does indicate that the project has yet to be fully endorsed by the ASF.\n \n\u003csub\u003eApache\u0026reg;, Apache Polaris\u0026trade;, Apache Iceberg\u0026trade;, Apache Spark\u0026trade; are either registered trademarks or trademarks of the Apache Software Foundation in the United States and/or other countries.\u003c/sub\u003e\n","funding_links":[],"categories":["Java","Table of Contents","大数据","🔄 Data Plattform Tools"],"sub_categories":["Metadata Service","🧠 Prompt Engineering \u0026 Memory Bank"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fpolaris","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapache%2Fpolaris","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapache%2Fpolaris/lists"}