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/sql
const { 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 test
You 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 e2e
See CONTRIBUTING.md
If you find any issues, feel free to create an issue or send a pull request directly.