The Databricks SQL Driver for NodeJS is a Javascript driver for applications that connect to Databricks clusters and SQL warehouses. This project is a fork of Hive Driver which connects via Thrift API.
NOTE: This Driver is Beta.
For detailed documentation and usage examples, read the Getting Started guide.
- Node.js 14 or newer
npm i @databricks/sqlconst { DBSQLClient } = require('@databricks/sql');
const client = new DBSQLClient();
const utils = DBSQLClient.utils;
client.connect({
host: '********.databricks.com',
path: '/sql/1.0/endpoints/****************',
token: 'dapi********************************',
}).then(async client => {
const session = await client.openSession();
const queryOperation = await session.executeStatement('SELECT "Hello, World!"', { runAsync: true });
await utils.waitUntilReady(queryOperation, false, () => {});
await utils.fetchAll(queryOperation);
await queryOperation.close();
const result = utils.getResult(queryOperation).getValue();
console.table(result);
await session.close();
client.close();
}).catch(error => {
console.log(error);
});npm run testYou can specify a specific test to run by changing package.json:
"scripts": {
"test": "nyc --reporter=lcov mocha 'tests/unit/result/JsonResult.test.js'",
}Or to run all unit tests:
"scripts": {
"test": "nyc --reporter=lcov mocha 'tests/unit/**/*.test.js'",
}Before running end-to-end tests, copy the sample configuration file into the repository root and set the Databricks SQL connection info:
{
host: '***.databricks.com',
path: '/sql/1.0/endpoints/***',
token: 'dapi***',
database: ['catalog', 'database'],
}Then run
npm run e2eSee CONTRIBUTING.md
If you find any issues, feel free to create an issue or send a pull request directly.