(inspired by https://github.com/manojkumar542/Jmeter-docker.git and https://github.com/Rbillon59/jmeter-docker-compose-starterkit)
This implementation works as is, with minor pre requisite of Databricks SQL configuration (host, PWD and warehouse id) set on .env file
its performing basic sql test for "show tables". and results apears on grafana, using influxDB.
the jmeter test configuration is stored under scenario/databricks_argument_plan_influx.jmx.
the file can be edited to your oun query, or be used as a baseline for the GUI configuration
- Databricks workspace with:
- SQL Warehouse installed
- generated private token (PWD)
- cp .env.sample .env edit the .env with your sql warehouse:
- host ("dbc-xxxx-xxx.cloud.databricks.com")
- PWD ("dapixxxxxx")
- warehouse ("dcxxxxxxxxx6")
source .env && docker-compose up -d
localhost:300000 (admin/admin)
jmeter edit scenario by GUI instructions (its recomended to use ls scenario/databricks_argument_plan_influx.jmx as base line and edit it)
-
install jmeter 5.5 https://jmeter.apache.org/download_jmeter.cgi
-
download databricks client lib from: https://www.databricks.com/spark/jdbc-drivers-archive
-
copy the driver (e.g. DatabricksJDBC42.jar) to lib/ext
-
boot (./bin/jmeter)
-
add DatabricksJDBC42.jar to classpath (press on browse and select it)
-
Add JDBC configuration:
fill similar to the following:
where JDBC Driver Class = com.databricks.client.jdbc.Driver database URL: taken from the sql endpoint connecyion details connection propeties: PWD=
under thread group:
7.1 Add sampler→ JDBC Request
variable name of pool… : databricks (the one we declared before) query: the query (in this example: “show schemas”)
under JDBC request: 7.1.1 add listener:
save… and execute.