{"id":22748849,"url":"https://github.com/apinstein/metabase-es-sql-driver","last_synced_at":"2025-08-13T06:10:31.127Z","repository":{"id":55580610,"uuid":"323083201","full_name":"apinstein/metabase-es-sql-driver","owner":"apinstein","description":"A metabase driver for connecting to Elasticsearch.","archived":false,"fork":false,"pushed_at":"2020-12-25T16:01:52.000Z","size":18,"stargazers_count":31,"open_issues_count":1,"forks_count":4,"subscribers_count":5,"default_branch":"main","last_synced_at":"2025-04-14T12:06:09.068Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Clojure","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/apinstein.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}},"created_at":"2020-12-20T13:53:00.000Z","updated_at":"2025-01-28T20:40:20.000Z","dependencies_parsed_at":"2022-08-15T03:31:24.826Z","dependency_job_id":null,"html_url":"https://github.com/apinstein/metabase-es-sql-driver","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/apinstein%2Fmetabase-es-sql-driver","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apinstein%2Fmetabase-es-sql-driver/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apinstein%2Fmetabase-es-sql-driver/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/apinstein%2Fmetabase-es-sql-driver/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/apinstein","download_url":"https://codeload.github.com/apinstein/metabase-es-sql-driver/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248877985,"owners_count":21176243,"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-12-11T03:36:08.937Z","updated_at":"2025-04-14T12:06:16.499Z","avatar_url":"https://github.com/apinstein.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Adding Support to Metabase for Elasticsearch\n\nModern versions of elasticsearch (ship with a JDBC driver)[https://www.elastic.co/guide/en/elasticsearch/reference/current/sql-jdbc.html], which converts all normal SQL requests into compatible ESQL and communicates with the ES backend.\n\nThis project maintains a metabase driver for this setup.\n\n# TODO\n\nThis project is not even alpha quality yet...\n\n* Make sure username/passwords work\n* Make sure https support works\n* Make sure non-placeholder values for all connection params work\n* Impemlement proper defaults for all connection properties\n* Implement table discovery\n\n## Setting up a test ES\n\nThis repo contains a (full ES+Kibana)[https://www.elastic.co/guide/en/elastic-stack-get-started/current/get-started-docker.html] stack.\n\n### Boot up sample ES stack\n\n```\ndocker-compose up\n\n# test\ncurl -X GET \"localhost:9200/_cat/nodes?v\u0026pretty\"\n```\n\n### Add sample Elasticsearch data\n\nOpen the (local Kibana Server)[http://localhost:5601], click on the \"Sample Data\" tab, and load the \"Sample Flight Data\". Click \"Dashboard\" when done to verify it's all working.\n\n### Enable Trial license (required to access SQL functionality)\n\nOpen the (local Kibana Server's license page)[http://localhost:5601/app/management/stack/license_management] and click \"Activate Trial\".\n\n## Development Environment for Java\n\n(Set up JDK \u0026 clojure for dev)[https://purelyfunctional.tv/guide/how-to-install-clojure/].\n\nYou'll need to add the new JDK to your path... something like:\n\n```\nexport PATH=/Library/Java/JavaVirtualMachines/adoptopenjdk-11.jdk/Contents/Home/bin:$PATH\n\n# Check for JDK...\njava -version\n\u003e openjdk version \"11.0.9.1\" 2020-11-04\n\u003e OpenJDK Runtime Environment AdoptOpenJDK (build 11.0.9.1+1)\n\u003e OpenJDK 64-Bit Server VM AdoptOpenJDK (build 11.0.9.1+1, mixed mode)\n```\n\nOnce you have the full `clj` stack working...\n\n## Setting up the Metabase-Core project\n\nThe best way to do development on drivers is to download the (`metabase-core` codebase)[https://github.com/metabase/metabase] and drop this project into `modules/drivers`.\n\n```\n# somewhere on your machine...\ngit clone git@github.com:metabase/metabase.git\ncd metabase\nlein install-for-building-drivers\n\n# install our plugin\ncd modules/drivers\ngit clone git@github.com:apinstein/metabase-es-sql-driver.git\n```\n\nNOTE: Failure to have metabase-core built properly via `lein install-for-building-drivers` will result in errors that look like the compiler not seeing functions from metabase-core that you know exist.\n\nOpen the (Metabase Server)[http://localhost:3000] and complete the initialization steps. Skip adding a data source.\n\n### Dev Cycle\n\nMake your changes and run this to compile \u0026 re-run metabase.\n\n#### Building an uberjar for \"drop-in\" of our driver to any metabase\n\n```\nDEBUG=1 LEIN_SNAPSHOTS_IN_RELEASE=true lein uberjar \\\n \u0026\u0026 cp target/uberjar/elasticsearch.metabase-driver.jar ./metabase/plugins\n\n# kill and restart metabase\njava -jar metabase.jar\n```\n\n# Test ideas\n\nselect 1\n\nselect * from kibana_sample_data_flights\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapinstein%2Fmetabase-es-sql-driver","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fapinstein%2Fmetabase-es-sql-driver","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fapinstein%2Fmetabase-es-sql-driver/lists"}