|
9 | 9 | yarn add @boilingdata/node-boilingdata |
10 | 10 | ``` |
11 | 11 |
|
12 | | -## Basic Example |
| 12 | +## Basic Examples |
| 13 | + |
| 14 | +`execQueryPromise()` method can be used to await for the results directly. |
| 15 | + |
| 16 | +```typescript |
| 17 | +import { BoilingData, isDataResponse } from "@boilingdata/node-boilingdata"; |
| 18 | + |
| 19 | +async function main() { |
| 20 | + const bdInstance = new BoilingData({ username: process.env["BD_USERNAME"], password: process.env["BD_PASSWORD"] }); |
| 21 | + await bdInstance.connect(); |
| 22 | + const sql = `SELECT 's3://KEY' AS key, COUNT(*) AS count FROM parquet_scan('s3://KEY');`; |
| 23 | + const keys = ["s3://boilingdata-demo/demo.parquet", "s3://boilingdata-demo/demo2.parquet"]; |
| 24 | + const rows = await bdInstance.execQueryPromise({ sql, keys }); |
| 25 | + console.log(rows); |
| 26 | + await bdInstance.close(); |
| 27 | +} |
| 28 | +``` |
| 29 | + |
| 30 | +`execQuery()` uses callbacks. |
13 | 31 |
|
14 | 32 | ```typescript |
15 | 33 | import { BoilingData, isDataResponse } from "@boilingdata/node-boilingdata"; |
16 | 34 |
|
17 | 35 | async function main() { |
18 | 36 | const bdInstance = new BoilingData({ username: process.env["BD_USERNAME"], password: process.env["BD_PASSWORD"] }); |
19 | 37 | await bdInstance.connect(); |
| 38 | + const sql = `SELECT 's3://KEY' AS key, COUNT(*) AS count FROM parquet_scan('s3://KEY');`; |
| 39 | + const keys = ["s3://boilingdata-demo/demo.parquet", "s3://boilingdata-demo/demo2.parquet"]; |
20 | 40 | const rows = await new Promise<any[]>((resolve, reject) => { |
21 | 41 | let r: any[] = []; |
22 | 42 | bdInstance.execQuery({ |
23 | | - sql: `SELECT 's3://KEY' AS key, COUNT(*) AS count FROM parquet_scan('s3://KEY');`, |
24 | | - keys: ["s3://boilingdata-demo/demo.parquet", "s3://boilingdata-demo/demo2.parquet"], |
| 43 | + sql, |
| 44 | + keys, |
25 | 45 | callbacks: { |
26 | 46 | onData: (data: IBDDataResponse | unknown) => { |
27 | 47 | if (isDataResponse(data)) data.data.map(row => r.push(row)); |
|
0 commit comments