@cubejs-backend/athena-driver 0.29.29 → 0.29.33
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.
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,33 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [0.29.33](https://github.com/cube-js/cube.js/compare/v0.29.32...v0.29.33) (2022-03-17)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @cubejs-backend/athena-driver
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
## [0.29.31](https://github.com/cube-js/cube.js/compare/v0.29.30...v0.29.31) (2022-03-09)
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
### Bug Fixes
|
|
18
|
+
|
|
19
|
+
* **athena:** Fixes export bucket location. Fixes column order. ([#4183](https://github.com/cube-js/cube.js/issues/4183)) ([abd40a7](https://github.com/cube-js/cube.js/commit/abd40a79e360cd9a9eceeb56a450102bd782f3d9))
|
|
20
|
+
|
|
21
|
+
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## [0.29.30](https://github.com/cube-js/cube.js/compare/v0.29.29...v0.29.30) (2022-03-04)
|
|
26
|
+
|
|
27
|
+
**Note:** Version bump only for package @cubejs-backend/athena-driver
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
|
|
6
33
|
## [0.29.29](https://github.com/cube-js/cube.js/compare/v0.29.28...v0.29.29) (2022-03-03)
|
|
7
34
|
|
|
8
35
|
**Note:** Version bump only for package @cubejs-backend/athena-driver
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { BaseDriver, DownloadTableCSVData, DriverInterface, QueryOptions, StreamOptions, StreamTableData } from '@cubejs-backend/query-orchestrator';
|
|
1
|
+
import { BaseDriver, DatabaseStructure, DownloadTableCSVData, DriverInterface, QueryOptions, StreamOptions, StreamTableData, TableName } from '@cubejs-backend/query-orchestrator';
|
|
2
2
|
import { AthenaClientConfig } from '@aws-sdk/client-athena/dist-types/AthenaClient';
|
|
3
3
|
interface AthenaDriverOptions extends AthenaClientConfig {
|
|
4
4
|
readOnly?: boolean;
|
|
@@ -6,22 +6,13 @@ interface AthenaDriverOptions extends AthenaClientConfig {
|
|
|
6
6
|
secretAccessKey?: string;
|
|
7
7
|
workGroup?: string;
|
|
8
8
|
S3OutputLocation?: string;
|
|
9
|
+
exportBucket?: string;
|
|
9
10
|
pollTimeout?: number;
|
|
10
11
|
pollMaxInterval?: number;
|
|
11
12
|
}
|
|
12
13
|
export interface AthenaQueryId {
|
|
13
14
|
QueryExecutionId: string;
|
|
14
15
|
}
|
|
15
|
-
interface AthenaTable {
|
|
16
|
-
schema: string;
|
|
17
|
-
name: string;
|
|
18
|
-
}
|
|
19
|
-
interface AthenaColumn {
|
|
20
|
-
name: string;
|
|
21
|
-
type: string;
|
|
22
|
-
attributes: string[];
|
|
23
|
-
}
|
|
24
|
-
declare type AthenaSchema = Record<string, Record<string, AthenaColumn[]>>;
|
|
25
16
|
export declare class AthenaDriver extends BaseDriver implements DriverInterface {
|
|
26
17
|
private config;
|
|
27
18
|
private athena;
|
|
@@ -33,15 +24,16 @@ export declare class AthenaDriver extends BaseDriver implements DriverInterface
|
|
|
33
24
|
stream(query: string, values: unknown[], options: StreamOptions): Promise<StreamTableData>;
|
|
34
25
|
loadPreAggregationIntoTable(preAggregationTableName: string, loadSql: string, params: any): Promise<any>;
|
|
35
26
|
unload(tableName: string): Promise<DownloadTableCSVData>;
|
|
36
|
-
tablesSchema(): Promise<
|
|
27
|
+
tablesSchema(): Promise<DatabaseStructure>;
|
|
37
28
|
protected startQuery(query: string, values: unknown[]): Promise<AthenaQueryId>;
|
|
38
29
|
protected checkStatus(qid: AthenaQueryId): Promise<boolean>;
|
|
39
30
|
protected waitForSuccess(qid: AthenaQueryId): Promise<void>;
|
|
40
31
|
protected lazyRowIterator<R extends unknown>(qid: AthenaQueryId, query: string): AsyncGenerator<R>;
|
|
41
|
-
protected viewsSchema(tablesSchema:
|
|
42
|
-
protected getAllTables(): Promise<
|
|
43
|
-
protected getColumns(table:
|
|
44
|
-
protected mergeSchemas(arrSchemas:
|
|
32
|
+
protected viewsSchema(tablesSchema: DatabaseStructure): Promise<DatabaseStructure>;
|
|
33
|
+
protected getAllTables(): Promise<TableName[]>;
|
|
34
|
+
protected getColumns(table: TableName): Promise<DatabaseStructure>;
|
|
35
|
+
protected mergeSchemas(arrSchemas: DatabaseStructure[]): DatabaseStructure;
|
|
36
|
+
static trimS3Path(path: string): string;
|
|
45
37
|
static splitS3Path(path: string): {
|
|
46
38
|
bucket: string;
|
|
47
39
|
prefix: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AthenaDriver.d.ts","sourceRoot":"","sources":["../../src/AthenaDriver.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,
|
|
1
|
+
{"version":3,"file":"AthenaDriver.d.ts","sourceRoot":"","sources":["../../src/AthenaDriver.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,UAAU,EAAE,iBAAiB,EAC7B,oBAAoB,EACpB,eAAe,EACf,YAAY,EAAE,aAAa,EAC3B,eAAe,EAAE,SAAS,EAC3B,MAAM,oCAAoC,CAAC;AAG5C,OAAO,EAAE,kBAAkB,EAAE,MAAM,gDAAgD,CAAC;AAGpF,UAAU,mBAAoB,SAAQ,kBAAkB;IACtD,QAAQ,CAAC,EAAE,OAAO,CAAA;IAClB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,SAAS,CAAC,EAAE,MAAM,CAAA;IAClB,gBAAgB,CAAC,EAAE,MAAM,CAAA;IACzB,YAAY,CAAC,EAAE,MAAM,CAAA;IACrB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,eAAe,CAAC,EAAE,MAAM,CAAA;CACzB;AAID,MAAM,WAAW,aAAa;IAC5B,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAMD,qBAAa,YAAa,SAAQ,UAAW,YAAW,eAAe;IACrE,OAAO,CAAC,MAAM,CAAiC;IAE/C,OAAO,CAAC,MAAM,CAAS;gBAEJ,MAAM,GAAE,mBAAwB;IAuB5C,QAAQ,IAAI,OAAO;IAIb,iBAAiB;IAIjB,cAAc;IAMd,KAAK,CAAC,CAAC,GAAG,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,CAAC,EAAE,YAAY,GAAG,OAAO,CAAC,CAAC,EAAE,CAAC;IAU1F,MAAM,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,eAAe,CAAC;IAS1F,2BAA2B,CACtC,uBAAuB,EAAE,MAAM,EAC/B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,GAAG,GACV,OAAO,CAAC,GAAG,CAAC;IASF,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,oBAAoB,CAAC;IAgDxD,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC;cAOvC,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC,aAAa,CAAC;cAmBpE,WAAW,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,OAAO,CAAC;cAejD,cAAc,CAAC,GAAG,EAAE,aAAa,GAAG,OAAO,CAAC,IAAI,CAAC;cAehD,eAAe,CAAC,CAAC,SAAS,OAAO,EAAE,GAAG,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,GAAG,cAAc,CAAC,CAAC,CAAC;cAgCzF,WAAW,CAAC,YAAY,EAAE,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;cAcxE,YAAY,IAAI,OAAO,CAAC,SAAS,EAAE,CAAC;cAapC,UAAU,CAAC,KAAK,EAAE,SAAS,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAaxE,SAAS,CAAC,YAAY,CAAC,UAAU,EAAE,iBAAiB,EAAE,GAAG,iBAAiB;WAe5D,UAAU,CAAC,IAAI,EAAE,MAAM;WAIvB,WAAW,CAAC,IAAI,EAAE,MAAM;;;;CAOvC"}
|
package/dist/src/AthenaDriver.js
CHANGED
|
@@ -37,21 +37,25 @@ class AthenaDriver extends query_orchestrator_1.BaseDriver {
|
|
|
37
37
|
const accessKeyId = config.accessKeyId || process.env.CUBEJS_AWS_KEY;
|
|
38
38
|
const secretAccessKey = config.secretAccessKey || process.env.CUBEJS_AWS_SECRET;
|
|
39
39
|
this.config = {
|
|
40
|
+
...config,
|
|
40
41
|
credentials: accessKeyId && secretAccessKey ? { accessKeyId, secretAccessKey } : undefined,
|
|
41
42
|
region: config.region || process.env.CUBEJS_AWS_REGION,
|
|
42
43
|
S3OutputLocation: config.S3OutputLocation || process.env.CUBEJS_AWS_S3_OUTPUT_LOCATION,
|
|
43
44
|
workGroup: config.workGroup || process.env.CUBEJS_AWS_ATHENA_WORKGROUP || 'primary',
|
|
44
|
-
|
|
45
|
+
exportBucket: config.exportBucket || shared_1.getEnv('dbExportBucket'),
|
|
45
46
|
pollTimeout: (config.pollTimeout || shared_1.getEnv('dbPollTimeout') || shared_1.getEnv('dbQueryTimeout')) * 1000,
|
|
46
47
|
pollMaxInterval: (config.pollMaxInterval || shared_1.getEnv('dbPollMaxInterval')) * 1000,
|
|
47
48
|
};
|
|
49
|
+
if (this.config.exportBucket) {
|
|
50
|
+
this.config.exportBucket = AthenaDriver.trimS3Path(this.config.exportBucket);
|
|
51
|
+
}
|
|
48
52
|
this.athena = new client_athena_1.Athena(this.config);
|
|
49
53
|
}
|
|
50
54
|
readOnly() {
|
|
51
55
|
return !!this.config.readOnly;
|
|
52
56
|
}
|
|
53
57
|
async isUnloadSupported() {
|
|
54
|
-
return this.config.
|
|
58
|
+
return this.config.exportBucket !== undefined;
|
|
55
59
|
}
|
|
56
60
|
async testConnection() {
|
|
57
61
|
await this.athena.getWorkGroup({
|
|
@@ -83,12 +87,14 @@ class AthenaDriver extends query_orchestrator_1.BaseDriver {
|
|
|
83
87
|
await this.waitForSuccess(qid);
|
|
84
88
|
}
|
|
85
89
|
async unload(tableName) {
|
|
86
|
-
if (this.config.
|
|
90
|
+
if (this.config.exportBucket === undefined) {
|
|
87
91
|
throw new Error('Unload is not configured');
|
|
88
92
|
}
|
|
89
|
-
const
|
|
93
|
+
const types = await this.tableColumnTypes(tableName);
|
|
94
|
+
const columns = types.map(t => t.name).join(', ');
|
|
95
|
+
const path = `${this.config.exportBucket}/${tableName}`;
|
|
90
96
|
const unloadSql = `
|
|
91
|
-
UNLOAD (SELECT
|
|
97
|
+
UNLOAD (SELECT ${columns} FROM ${tableName})
|
|
92
98
|
TO '${path}'
|
|
93
99
|
WITH (format = 'TEXTFILE', field_delimiter = ',', compression='GZIP')
|
|
94
100
|
`;
|
|
@@ -116,6 +122,7 @@ class AthenaDriver extends query_orchestrator_1.BaseDriver {
|
|
|
116
122
|
}));
|
|
117
123
|
return {
|
|
118
124
|
csvFile,
|
|
125
|
+
types,
|
|
119
126
|
csvNoHeader: true
|
|
120
127
|
};
|
|
121
128
|
}
|
|
@@ -197,15 +204,15 @@ class AthenaDriver extends query_orchestrator_1.BaseDriver {
|
|
|
197
204
|
return this.mergeSchemas(arrViewsSchema);
|
|
198
205
|
}
|
|
199
206
|
async getAllTables() {
|
|
200
|
-
const
|
|
207
|
+
const rows = await this.query(`
|
|
201
208
|
SELECT table_schema AS schema, table_name AS name
|
|
202
209
|
FROM information_schema.tables
|
|
203
210
|
WHERE tables.table_schema NOT IN ('information_schema', 'mysql', 'performance_schema', 'sys')
|
|
204
211
|
`, []);
|
|
205
|
-
return
|
|
212
|
+
return rows;
|
|
206
213
|
}
|
|
207
214
|
async getColumns(table) {
|
|
208
|
-
const data = await this.query(`SHOW COLUMNS IN \`${table.
|
|
215
|
+
const data = await this.query(`SHOW COLUMNS IN \`${table.join()}\``, []);
|
|
209
216
|
return {
|
|
210
217
|
[table.schema]: {
|
|
211
218
|
[table.name]: data.map(({ column }) => {
|
|
@@ -229,6 +236,9 @@ class AthenaDriver extends query_orchestrator_1.BaseDriver {
|
|
|
229
236
|
});
|
|
230
237
|
return result;
|
|
231
238
|
}
|
|
239
|
+
static trimS3Path(path) {
|
|
240
|
+
return path.replace(/\/+$/, '');
|
|
241
|
+
}
|
|
232
242
|
static splitS3Path(path) {
|
|
233
243
|
const url = new url_1.URL(path);
|
|
234
244
|
return {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AthenaDriver.js","sourceRoot":"","sources":["../../src/AthenaDriver.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;AAAA,0DAA8E;AAC9E,kDAA0D;AAC1D,wEAA6D;AAC7D,+CAAiC;AACjC,2EAM4C;AAC5C,mDAA0F;AAC1F,qDAAuC;AAEvC,6BAA0B;
|
|
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.29.
|
|
5
|
+
"version": "0.29.33",
|
|
6
6
|
"repository": {
|
|
7
7
|
"type": "git",
|
|
8
8
|
"url": "https://github.com/cube-js/cube.js.git",
|
|
@@ -16,7 +16,8 @@
|
|
|
16
16
|
"tsc": "tsc",
|
|
17
17
|
"watch": "tsc -w",
|
|
18
18
|
"test": "yarn integration",
|
|
19
|
-
"integration": "
|
|
19
|
+
"integration": "npm run integration:athena",
|
|
20
|
+
"integration:athena": "jest --verbose dist/test",
|
|
20
21
|
"lint": "eslint src/* --ext .ts",
|
|
21
22
|
"lint:fix": "eslint --fix src/* --ext .ts"
|
|
22
23
|
},
|
|
@@ -30,13 +31,13 @@
|
|
|
30
31
|
"@aws-sdk/client-athena": "^3.22.0",
|
|
31
32
|
"@aws-sdk/client-s3": "^3.49.0",
|
|
32
33
|
"@aws-sdk/s3-request-presigner": "^3.49.0",
|
|
33
|
-
"@cubejs-backend/query-orchestrator": "^0.29.
|
|
34
|
-
"@cubejs-backend/shared": "^0.29.
|
|
34
|
+
"@cubejs-backend/query-orchestrator": "^0.29.33",
|
|
35
|
+
"@cubejs-backend/shared": "^0.29.33",
|
|
35
36
|
"sqlstring": "^2.3.1"
|
|
36
37
|
},
|
|
37
38
|
"devDependencies": {
|
|
38
39
|
"@cubejs-backend/linter": "^0.29.23",
|
|
39
|
-
"@cubejs-backend/testing": "^0.29.
|
|
40
|
+
"@cubejs-backend/testing-shared": "^0.29.33",
|
|
40
41
|
"@types/ramda": "^0.27.40",
|
|
41
42
|
"typescript": "~4.1.5"
|
|
42
43
|
},
|
|
@@ -47,5 +48,5 @@
|
|
|
47
48
|
"extends": "../cubejs-linter"
|
|
48
49
|
},
|
|
49
50
|
"license": "Apache-2.0",
|
|
50
|
-
"gitHead": "
|
|
51
|
+
"gitHead": "b52e4400b0786c37544b285de1e4c66dcee96e43"
|
|
51
52
|
}
|