trino-client

trino-js-client

A Trino client for Node.js.

[!WARNING] The project is currently undergoing a migration to the trinodb organization. Join us on Trino Slack in #core-dev, help us, and stay tuned.

@latest it-tests license

  • Connections over HTTP or HTTPS
  • Supports HTTP Basic Authentication
  • Per-query user information for access control
  • Node 12 or newer.
  • Trino 0.16x or newer.

npm install trino-client or yarn add trino-client

For additional info on all available methods and types have a look at the API documentation.

const trino: Trino = Trino.create({
server: 'http://localhost:8080',
catalog: 'tpcds',
schema: 'sf100000',
auth: new BasicAuth('test'),
});
const iter: Iterator<QueryResult> = await trino.query(
'select * from customer limit 100'
);
for await (const queryResult of iter) {
console.log(queryResult.data);
}
const data: QueryData[] = await iter
.map(r => r.data ?? [])
.fold<QueryData[]>([], (row, acc) => [...acc, ...row]);

More usage examples can be found in the integration tests.

Use the following commands to build the project locally with your modifications, and in preparation to contribute a pull request.

Requirements:

  • yarn

Install dependencies:

yarn install --frozen-lockfile

Lint the source code:

yarn test:lint

Build

yarn build

Follow the Trino contribution guidelines and contact us on Slack and GitHub.

Copyright Trino JS Client contributors 2022-present