@cubejs-backend/athena-driver 0.32.27 → 0.32.29

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,7 +3,8 @@
3
3
  * @license Apache-2.0
4
4
  * @fileoverview The `AthenaDriver` and related types declaration.
5
5
  */
6
- import { BaseDriver, DatabaseStructure, DownloadTableCSVData, DriverInterface, QueryOptions, StreamOptions, StreamTableData } from '@cubejs-backend/base-driver';
6
+ import { ColumnInfo } from '@aws-sdk/client-athena';
7
+ import { BaseDriver, DatabaseStructure, DownloadTableCSVData, DriverInterface, QueryOptions, UnloadOptions, StreamOptions, TableStructure, DriverCapabilities, DownloadTableMemoryData, StreamTableDataWithTypes, DownloadQueryResultsResult, DownloadQueryResultsOptions } from '@cubejs-backend/base-driver';
7
8
  import { AthenaClientConfig } from '@aws-sdk/client-athena/dist-types/AthenaClient';
8
9
  interface AthenaDriverOptions extends AthenaClientConfig {
9
10
  readOnly?: boolean;
@@ -54,19 +55,83 @@ export declare class AthenaDriver extends BaseDriver implements DriverInterface
54
55
  */
55
56
  testConnectionTimeout?: number;
56
57
  });
58
+ /**
59
+ * Driver read-only flag.
60
+ */
57
61
  readOnly(): boolean;
58
- isUnloadSupported(): Promise<boolean>;
62
+ /**
63
+ * Returns driver's capabilities object.
64
+ */
65
+ capabilities(): DriverCapabilities;
66
+ /**
67
+ * Test driver's connection.
68
+ */
59
69
  testConnection(): Promise<void>;
60
- query<R = unknown>(query: string, values: unknown[], options?: QueryOptions): Promise<R[]>;
61
- stream(query: string, values: unknown[], options: StreamOptions): Promise<StreamTableData>;
70
+ /**
71
+ * Executes a query and returns either query result memory data or
72
+ * query result stream, depending on options.
73
+ */
74
+ downloadQueryResults(query: string, values: unknown[], options: DownloadQueryResultsOptions): Promise<DownloadQueryResultsResult>;
75
+ /**
76
+ * Executes query and returns table memory data that includes rows
77
+ * and queried fields types.
78
+ */
79
+ memory(query: string, values: unknown[]): Promise<DownloadTableMemoryData & {
80
+ types: TableStructure;
81
+ }>;
82
+ /**
83
+ * Returns stream table object that includes query result stream and
84
+ * queried fields types.
85
+ */
86
+ stream(query: string, values: unknown[], options: StreamOptions): Promise<StreamTableDataWithTypes>;
87
+ /**
88
+ * Executes query and rerutns queried rows.
89
+ */
90
+ query<R = unknown>(query: string, values: unknown[], _options?: QueryOptions): Promise<R[]>;
91
+ /**
92
+ * Executes query and returns async generator that yields queried
93
+ * rows.
94
+ */
95
+ protected lazyRowIterator<R extends unknown>(qid: AthenaQueryId, query: string, withTypes?: boolean): AsyncGenerator<R>;
96
+ /**
97
+ * Save pre-aggregation data into a temp table.
98
+ */
62
99
  loadPreAggregationIntoTable(preAggregationTableName: string, loadSql: string, params: any): Promise<any>;
63
- unload(tableName: string): Promise<DownloadTableCSVData>;
100
+ /**
101
+ * Determines whether export bucket feature is configured or not.
102
+ */
103
+ isUnloadSupported(): Promise<boolean>;
104
+ /**
105
+ * Returns to the Cubestore an object with links to unloaded to the
106
+ * export bucket data.
107
+ */
108
+ unload(tableName: string, options: UnloadOptions): Promise<DownloadTableCSVData>;
109
+ /**
110
+ * Unload data from a SQL query to an export bucket.
111
+ */
112
+ private unloadWithSql;
113
+ /**
114
+ * Unload data from a temp table to an export bucket.
115
+ */
116
+ private unloadWithTable;
117
+ /**
118
+ * Returns an array of queried fields meta info.
119
+ */
120
+ queryColumnTypes(sql: string): Promise<TableStructure>;
121
+ /**
122
+ * Converts Athena to generic types and returns an array of queried
123
+ * fields meta info.
124
+ */
125
+ mapTypes(fields: ColumnInfo[]): TableStructure;
126
+ /**
127
+ * Returns an array of signed URLs of the unloaded csv files.
128
+ */
129
+ private getCsvFiles;
64
130
  informationSchemaQuery(): string;
65
131
  tablesSchema(): Promise<DatabaseStructure>;
66
132
  protected startQuery(query: string, values: unknown[]): Promise<AthenaQueryId>;
67
133
  protected checkStatus(qid: AthenaQueryId): Promise<boolean>;
68
134
  protected waitForSuccess(qid: AthenaQueryId): Promise<void>;
69
- protected lazyRowIterator<R extends unknown>(qid: AthenaQueryId, query: string): AsyncGenerator<R>;
70
135
  protected viewsSchema(tablesSchema: DatabaseStructure): Promise<DatabaseStructure>;
71
136
  protected getAllTables(): Promise<AthenaTable[]>;
72
137
  protected getColumns(table: AthenaTable): Promise<DatabaseStructure>;
@@ -1 +1 @@
1
- {"version":3,"file":"AthenaDriver.d.ts","sourceRoot":"","sources":["../../src/AthenaDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AthenaDriver.d.ts","sourceRoot":"","sources":["../../src/AthenaDriver.ts"],"names":[],"mappings":"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"}
@@ -65,6 +65,7 @@ class AthenaDriver extends base_driver_1.BaseDriver {
65
65
  (0, shared_1.getEnv)('dbName', { dataSource }) ||
66
66
  (0, shared_1.getEnv)('dbSchema', { dataSource });
67
67
  this.config = {
68
+ readOnly: true,
68
69
  ...restConfig,
69
70
  credentials: accessKeyId && secretAccessKey
70
71
  ? { accessKeyId, secretAccessKey }
@@ -88,39 +89,125 @@ class AthenaDriver extends base_driver_1.BaseDriver {
88
89
  exportBucketCsvEscapeSymbol: (0, shared_1.getEnv)('dbExportBucketCsvEscapeSymbol', { dataSource }),
89
90
  };
90
91
  if (this.config.exportBucket) {
91
- this.config.exportBucket = AthenaDriver.normalizeS3Path(this.config.exportBucket);
92
+ this.config.exportBucket =
93
+ AthenaDriver.normalizeS3Path(this.config.exportBucket);
92
94
  }
93
95
  this.athena = new client_athena_1.Athena(this.config);
94
96
  }
97
+ /**
98
+ * Driver read-only flag.
99
+ */
95
100
  readOnly() {
96
101
  return !!this.config.readOnly;
97
102
  }
98
- async isUnloadSupported() {
99
- return this.config.exportBucket !== undefined;
103
+ /**
104
+ * Returns driver's capabilities object.
105
+ */
106
+ capabilities() {
107
+ return { unloadWithoutTempTable: true };
100
108
  }
109
+ /**
110
+ * Test driver's connection.
111
+ */
101
112
  async testConnection() {
102
113
  await this.athena.getWorkGroup({
103
114
  WorkGroup: this.config.workGroup
104
115
  });
105
116
  }
106
- // eslint-disable-next-line @typescript-eslint/no-unused-vars
107
- async query(query, values, options) {
117
+ /**
118
+ * Executes a query and returns either query result memory data or
119
+ * query result stream, depending on options.
120
+ */
121
+ async downloadQueryResults(query, values, options) {
122
+ if (!options.streamImport) {
123
+ return this.memory(query, values);
124
+ }
125
+ else {
126
+ return this.stream(query, values, options);
127
+ }
128
+ }
129
+ /**
130
+ * Executes query and returns table memory data that includes rows
131
+ * and queried fields types.
132
+ */
133
+ async memory(query, values) {
108
134
  const qid = await this.startQuery(query, values);
109
135
  await this.waitForSuccess(qid);
136
+ const iter = this.lazyRowIterator(qid, query, true);
137
+ const types = ((await iter.next()).value);
110
138
  const rows = [];
111
- for await (const row of this.lazyRowIterator(qid, query)) {
139
+ for await (const row of iter) {
112
140
  rows.push(row);
113
141
  }
114
- return rows;
142
+ return { types, rows };
115
143
  }
144
+ /**
145
+ * Returns stream table object that includes query result stream and
146
+ * queried fields types.
147
+ */
116
148
  async stream(query, values, options) {
117
149
  const qid = await this.startQuery(query, values);
118
150
  await this.waitForSuccess(qid);
119
- const rowStream = stream.Readable.from(this.lazyRowIterator(qid, query), { highWaterMark: options.highWaterMark });
151
+ const iter = this.lazyRowIterator(qid, query, true);
152
+ const types = ((await iter.next()).value);
120
153
  return {
121
- rowStream
154
+ rowStream: stream.Readable.from(iter, {
155
+ highWaterMark: options.highWaterMark,
156
+ }),
157
+ types,
158
+ release: async () => { },
122
159
  };
123
160
  }
161
+ /**
162
+ * Executes query and rerutns queried rows.
163
+ */
164
+ async query(query, values, _options) {
165
+ const qid = await this.startQuery(query, values);
166
+ await this.waitForSuccess(qid);
167
+ const rows = [];
168
+ for await (const row of this.lazyRowIterator(qid, query)) {
169
+ rows.push(row);
170
+ }
171
+ return rows;
172
+ }
173
+ /**
174
+ * Executes query and returns async generator that yields queried
175
+ * rows.
176
+ */
177
+ async *lazyRowIterator(qid, query, withTypes) {
178
+ let isFirstBatch = true;
179
+ let columnInfo = [];
180
+ for (let results = await this.athena.getQueryResults(qid); results; results = results.NextToken
181
+ ? (await this.athena.getQueryResults({ ...qid, NextToken: results.NextToken }))
182
+ : undefined) {
183
+ let rows = results.ResultSet?.Rows ?? [];
184
+ if (isFirstBatch) {
185
+ if (withTypes) {
186
+ yield this.mapTypes(results.ResultSet?.ResultSetMetadata?.ColumnInfo);
187
+ }
188
+ isFirstBatch = false;
189
+ // Athena returns the columns names in first row, skip it.
190
+ rows = rows.slice(1);
191
+ columnInfo = /SHOW COLUMNS/.test(query) // Fix for getColumns method
192
+ ? [{ Name: 'column' }]
193
+ : (0, shared_1.checkNonNullable)('ColumnInfo', results.ResultSet?.ResultSetMetadata?.ColumnInfo).map(info => ({ Name: (0, shared_1.checkNonNullable)('Name', info.Name) }));
194
+ }
195
+ for (const row of rows) {
196
+ const fields = {};
197
+ columnInfo
198
+ .forEach((c, j) => {
199
+ const r = row.Data;
200
+ fields[c.Name] = (r === null ||
201
+ r === undefined ||
202
+ r[j].VarCharValue === undefined) ? null : r[j].VarCharValue;
203
+ });
204
+ yield fields;
205
+ }
206
+ }
207
+ }
208
+ /**
209
+ * Save pre-aggregation data into a temp table.
210
+ */
124
211
  async loadPreAggregationIntoTable(preAggregationTableName, loadSql, params) {
125
212
  if (this.config.S3OutputLocation === undefined) {
126
213
  throw new Error('Unload is not configured. Please define CUBEJS_AWS_S3_OUTPUT_LOCATION env var ');
@@ -128,50 +215,151 @@ class AthenaDriver extends base_driver_1.BaseDriver {
128
215
  const qid = await this.startQuery(loadSql, params);
129
216
  await this.waitForSuccess(qid);
130
217
  }
131
- async unload(tableName) {
132
- if (this.config.exportBucket === undefined) {
133
- throw new Error('Unload is not configured');
218
+ /**
219
+ * Determines whether export bucket feature is configured or not.
220
+ */
221
+ async isUnloadSupported() {
222
+ return this.config.exportBucket !== undefined;
223
+ }
224
+ /**
225
+ * Returns to the Cubestore an object with links to unloaded to the
226
+ * export bucket data.
227
+ */
228
+ async unload(tableName, options) {
229
+ if (!this.config.exportBucket) {
230
+ throw new Error('Export bucket is not configured.');
134
231
  }
232
+ const types = options.query
233
+ ? await this.unloadWithSql(tableName, options.query.sql)
234
+ : await this.unloadWithTable(tableName);
235
+ const csvFile = await this.getCsvFiles(tableName);
236
+ return {
237
+ exportBucketCsvEscapeSymbol: this.config.exportBucketCsvEscapeSymbol,
238
+ csvFile,
239
+ types,
240
+ csvNoHeader: true,
241
+ };
242
+ }
243
+ /**
244
+ * Unload data from a SQL query to an export bucket.
245
+ */
246
+ async unloadWithSql(tableName, sql) {
247
+ const columns = await this.queryColumnTypes(sql);
248
+ const unloadSql = `
249
+ UNLOAD (${sql})
250
+ TO '${this.config.exportBucket}/${tableName}'
251
+ WITH (
252
+ format = 'TEXTFILE',
253
+ field_delimiter = ',',
254
+ compression='GZIP'
255
+ )`;
256
+ const qid = await this.startQuery(unloadSql, []);
257
+ await this.waitForSuccess(qid);
258
+ await this.athena.getQueryResults(qid);
259
+ return columns;
260
+ }
261
+ /**
262
+ * Unload data from a temp table to an export bucket.
263
+ */
264
+ async unloadWithTable(tableName) {
135
265
  const types = await this.tableColumnTypes(tableName);
136
266
  const columns = types.map(t => t.name).join(', ');
137
- const path = `${this.config.exportBucket}/${tableName}`;
138
267
  const unloadSql = `
139
268
  UNLOAD (SELECT ${columns} FROM ${tableName})
140
- TO '${path}'
141
- WITH (format = 'TEXTFILE', field_delimiter = ',', compression='GZIP')
142
- `;
269
+ TO '${this.config.exportBucket}/${tableName}'
270
+ WITH (
271
+ format = 'TEXTFILE',
272
+ field_delimiter = ',',
273
+ compression='GZIP'
274
+ )`;
275
+ const qid = await this.startQuery(unloadSql, []);
276
+ await this.waitForSuccess(qid);
277
+ return types;
278
+ }
279
+ /**
280
+ * Returns an array of queried fields meta info.
281
+ */
282
+ async queryColumnTypes(sql) {
283
+ const unloadSql = `${sql} LIMIT 0`;
143
284
  const qid = await this.startQuery(unloadSql, []);
144
285
  await this.waitForSuccess(qid);
286
+ const results = await this.athena.getQueryResults(qid);
287
+ const columns = this.mapTypes(results.ResultSet?.ResultSetMetadata?.ColumnInfo);
288
+ return columns;
289
+ }
290
+ /**
291
+ * Converts Athena to generic types and returns an array of queried
292
+ * fields meta info.
293
+ */
294
+ mapTypes(fields) {
295
+ return fields.map((field) => {
296
+ let type;
297
+ switch (field.Type) {
298
+ case 'boolean':
299
+ type = 'boolean';
300
+ break;
301
+ // integers
302
+ case 'tinyint':
303
+ case 'smallint':
304
+ case 'int':
305
+ case 'integer':
306
+ case 'bigint':
307
+ type = 'int';
308
+ break;
309
+ // float
310
+ case 'float':
311
+ type = 'float';
312
+ break;
313
+ // double
314
+ case 'double':
315
+ type = 'double';
316
+ break;
317
+ // strings
318
+ case 'char':
319
+ case 'varchar':
320
+ case 'string':
321
+ case 'binary':
322
+ type = 'text';
323
+ break;
324
+ // date and time
325
+ case 'date':
326
+ case 'timestamp':
327
+ type = 'date';
328
+ break;
329
+ // unknown
330
+ default:
331
+ type = 'text';
332
+ break;
333
+ }
334
+ return { name: field.Name, type };
335
+ });
336
+ }
337
+ /**
338
+ * Returns an array of signed URLs of the unloaded csv files.
339
+ */
340
+ async getCsvFiles(tableName) {
145
341
  const client = new client_s3_1.S3({
146
342
  credentials: this.config.credentials,
147
343
  region: this.config.region,
148
344
  });
149
- const { bucket, prefix } = AthenaDriver.splitS3Path(path);
345
+ const { bucket, prefix } = AthenaDriver.splitS3Path(`${this.config.exportBucket}/${tableName}`);
150
346
  const list = await client.listObjectsV2({
151
347
  Bucket: bucket,
152
- // skip leading /
153
- Prefix: prefix.slice(1),
348
+ Prefix: prefix.slice(1), // skip leading
154
349
  });
155
- if (list.Contents === undefined) {
156
- return {
157
- exportBucketCsvEscapeSymbol: this.config.exportBucketCsvEscapeSymbol,
158
- csvFile: [],
159
- types,
160
- };
350
+ if (!list.Contents) {
351
+ return [];
352
+ }
353
+ else {
354
+ const files = await Promise.all(list.Contents.map(async (file) => {
355
+ const command = new client_s3_1.GetObjectCommand({
356
+ Bucket: bucket,
357
+ Key: file.Key,
358
+ });
359
+ return (0, s3_request_presigner_1.getSignedUrl)(client, command, { expiresIn: 3600 });
360
+ }));
361
+ return files;
161
362
  }
162
- const csvFile = await Promise.all(list.Contents.map(async (file) => {
163
- const command = new client_s3_1.GetObjectCommand({
164
- Bucket: bucket,
165
- Key: file.Key,
166
- });
167
- return (0, s3_request_presigner_1.getSignedUrl)(client, command, { expiresIn: 3600 });
168
- }));
169
- return {
170
- exportBucketCsvEscapeSymbol: this.config.exportBucketCsvEscapeSymbol,
171
- csvFile,
172
- types,
173
- csvNoHeader: true
174
- };
175
363
  }
176
364
  informationSchemaQuery() {
177
365
  if (this.schema) {
@@ -220,33 +408,6 @@ class AthenaDriver extends base_driver_1.BaseDriver {
220
408
  }
221
409
  throw new Error(`Athena job timeout reached ${this.config.pollTimeout}ms`);
222
410
  }
223
- async *lazyRowIterator(qid, query) {
224
- let isFirstBatch = true;
225
- let columnInfo = [];
226
- for (let results = await this.athena.getQueryResults(qid); results; results = results.NextToken
227
- ? (await this.athena.getQueryResults({ ...qid, NextToken: results.NextToken }))
228
- : undefined) {
229
- let rows = results.ResultSet?.Rows ?? [];
230
- if (isFirstBatch) {
231
- isFirstBatch = false;
232
- // Athena returns the columns names in first row, skip it.
233
- rows = rows.slice(1);
234
- columnInfo = /SHOW COLUMNS/.test(query) // Fix for getColumns method
235
- ? [{ Name: 'column' }]
236
- : (0, shared_1.checkNonNullable)('ColumnInfo', results.ResultSet?.ResultSetMetadata?.ColumnInfo)
237
- .map(info => ({ Name: (0, shared_1.checkNonNullable)('Name', info.Name) }));
238
- }
239
- for (const row of rows) {
240
- const fields = {};
241
- columnInfo
242
- .forEach((c, j) => {
243
- const r = row.Data;
244
- fields[c.Name] = (r === null || r === undefined || r[j].VarCharValue === undefined) ? null : r[j].VarCharValue;
245
- });
246
- yield fields;
247
- }
248
- }
249
- }
250
411
  async viewsSchema(tablesSchema) {
251
412
  const isView = (table) => !tablesSchema[table.schema]
252
413
  || !tablesSchema[table.schema][table.name];
@@ -1 +1 @@
1
- {"version":3,"file":"AthenaDriver.js","sourceRoot":"","sources":["../../src/AthenaDriver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AthenaDriver.js","sourceRoot":"","sources":["../../src/AthenaDriver.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "@cubejs-backend/athena-driver",
3
3
  "description": "Cube.js Athena database driver",
4
4
  "author": "Cube Dev, Inc.",
5
- "version": "0.32.27",
5
+ "version": "0.32.29",
6
6
  "repository": {
7
7
  "type": "git",
8
8
  "url": "https://github.com/cube-js/cube.git",
@@ -31,13 +31,13 @@
31
31
  "@aws-sdk/client-athena": "^3.22.0",
32
32
  "@aws-sdk/client-s3": "^3.49.0",
33
33
  "@aws-sdk/s3-request-presigner": "^3.49.0",
34
- "@cubejs-backend/base-driver": "^0.32.26",
35
- "@cubejs-backend/shared": "^0.32.25",
34
+ "@cubejs-backend/base-driver": "^0.32.29",
35
+ "@cubejs-backend/shared": "^0.32.28",
36
36
  "sqlstring": "^2.3.1"
37
37
  },
38
38
  "devDependencies": {
39
- "@cubejs-backend/linter": "^0.32.12",
40
- "@cubejs-backend/testing-shared": "^0.32.27",
39
+ "@cubejs-backend/linter": "^0.32.28",
40
+ "@cubejs-backend/testing-shared": "^0.32.29",
41
41
  "@types/ramda": "^0.27.40",
42
42
  "typescript": "~4.9.5"
43
43
  },
@@ -48,5 +48,5 @@
48
48
  "extends": "../cubejs-linter"
49
49
  },
50
50
  "license": "Apache-2.0",
51
- "gitHead": "dab4d93572a02a39b9faf77de1567a4fb12d4adb"
51
+ "gitHead": "a41aa533c103c818511845b5df727e0502c03114"
52
52
  }