@cubejs-backend/databricks-jdbc-driver 0.30.22 → 0.30.23
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,17 @@
|
|
|
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.30.23](https://github.com/cube-js/cube.js/compare/v0.30.22...v0.30.23) (2022-06-14)
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
### Features
|
|
10
|
+
|
|
11
|
+
* **databricks-jdbc:** jdbc implementation of the export bucket feature ([d534e67](https://github.com/cube-js/cube.js/commit/d534e670a4568b905b55d0f5504d5c836d5841b2))
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
|
|
15
|
+
|
|
16
|
+
|
|
6
17
|
## [0.30.22](https://github.com/cube-js/cube.js/compare/v0.30.21...v0.30.22) (2022-06-14)
|
|
7
18
|
|
|
8
19
|
|
|
@@ -43,90 +43,51 @@ export declare class DatabricksDriver extends JDBCDriver {
|
|
|
43
43
|
*/
|
|
44
44
|
isUnloadSupported(): Promise<boolean>;
|
|
45
45
|
/**
|
|
46
|
-
*
|
|
47
|
-
|
|
48
|
-
private getApiUrl;
|
|
49
|
-
/**
|
|
50
|
-
* Returns databricks API token.
|
|
51
|
-
*/
|
|
52
|
-
private getApiToken;
|
|
53
|
-
/**
|
|
54
|
-
* Sleeper method.
|
|
55
|
-
*/
|
|
56
|
-
private wait;
|
|
57
|
-
/**
|
|
58
|
-
* Assert http response.
|
|
59
|
-
*/
|
|
60
|
-
private assertResponse;
|
|
61
|
-
/**
|
|
62
|
-
* Fetch API wrapper.
|
|
63
|
-
*/
|
|
64
|
-
private fetch;
|
|
65
|
-
/**
|
|
66
|
-
* Returns IDs of databricks runned clusters.
|
|
67
|
-
*/
|
|
68
|
-
private getClustersIds;
|
|
69
|
-
/**
|
|
70
|
-
* Determine whether notebook exist or no.
|
|
71
|
-
*/
|
|
72
|
-
private checkNotebook;
|
|
73
|
-
/**
|
|
74
|
-
* Import predefined nodebook to the databricks under specified path.
|
|
75
|
-
*/
|
|
76
|
-
private importNotebook;
|
|
77
|
-
/**
|
|
78
|
-
* Job identifier.
|
|
79
|
-
*/
|
|
80
|
-
private _job?;
|
|
81
|
-
/**
|
|
82
|
-
* Create job and returns job id.
|
|
83
|
-
*/
|
|
84
|
-
private createJob;
|
|
85
|
-
/**
|
|
86
|
-
* Determine whether job exist or no.
|
|
46
|
+
* Saves pre-aggs table to the bucket and returns links to download
|
|
47
|
+
* results.
|
|
87
48
|
*/
|
|
88
|
-
|
|
49
|
+
unload(tableName: string): Promise<DownloadTableCSVData>;
|
|
89
50
|
/**
|
|
90
|
-
*
|
|
51
|
+
* Unload table to bucket using Databricks JDBC query and returns (async)
|
|
52
|
+
* csv files signed URLs array.
|
|
91
53
|
*/
|
|
92
|
-
private
|
|
54
|
+
private getCsvFiles;
|
|
93
55
|
/**
|
|
94
|
-
*
|
|
56
|
+
* Saves specified table to the Azure blob storage and returns (async)
|
|
57
|
+
* csv files signed URLs array.
|
|
95
58
|
*/
|
|
96
|
-
private
|
|
59
|
+
private getAzureCsvFiles;
|
|
97
60
|
/**
|
|
98
|
-
*
|
|
61
|
+
* Returns Azure signed URLs of unloaded scv files.
|
|
99
62
|
*/
|
|
100
|
-
private
|
|
63
|
+
private getSignedAzureUrls;
|
|
101
64
|
/**
|
|
102
|
-
*
|
|
65
|
+
* Saves specified table to the S3 bucket and returns (async) csv files
|
|
66
|
+
* signed URLs array.
|
|
103
67
|
*/
|
|
104
|
-
private
|
|
68
|
+
private getS3CsvFiles;
|
|
105
69
|
/**
|
|
106
|
-
* Returns signed
|
|
70
|
+
* Returns S3 signed URLs of unloaded scv files.
|
|
107
71
|
*/
|
|
108
72
|
private getSignedS3Urls;
|
|
109
73
|
/**
|
|
110
|
-
*
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
*
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
*
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
*
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
* results.
|
|
128
|
-
*/
|
|
129
|
-
unload(tableName: string): Promise<DownloadTableCSVData>;
|
|
74
|
+
* Saves specified table to the configured bucket. This requires Databricks
|
|
75
|
+
* cluster to be configured.
|
|
76
|
+
*
|
|
77
|
+
* For Azure blob storage you need to configure account access key in
|
|
78
|
+
* Cluster -> Configuration -> Advanced options
|
|
79
|
+
* (https://docs.databricks.com/data/data-sources/azure/azure-storage.html#access-azure-blob-storage-directly)
|
|
80
|
+
*
|
|
81
|
+
* `fs.azure.account.key.<storage-account-name>.blob.core.windows.net <storage-account-access-key>`
|
|
82
|
+
*
|
|
83
|
+
* For S3 bucket storage you need to configure AWS access key and secret in
|
|
84
|
+
* Cluster -> Configuration -> Advanced options
|
|
85
|
+
* (https://docs.databricks.com/data/data-sources/aws/amazon-s3.html#access-s3-buckets-directly)
|
|
86
|
+
*
|
|
87
|
+
* `fs.s3a.access.key <aws-access-key>`
|
|
88
|
+
* `fs.s3a.secret.key <aws-secret-key>`
|
|
89
|
+
*/
|
|
90
|
+
private createExternalTable;
|
|
130
91
|
}
|
|
131
92
|
export {};
|
|
132
93
|
//# sourceMappingURL=DatabricksDriver.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabricksDriver.d.ts","sourceRoot":"","sources":["../../src/DatabricksDriver.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"DatabricksDriver.d.ts","sourceRoot":"","sources":["../../src/DatabricksDriver.ts"],"names":[],"mappings":"AAYA,OAAO,EACL,oBAAoB,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,UAAU,EACV,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAErC,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,oBAAY,6BAA6B,GAAG,uBAAuB,GACjE;IACE,QAAQ,CAAC,EAAE,OAAO,CAAC;IAEnB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,CAAC;AAYJ,aAAK,YAAY,GAAG;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,OAAO,CAAC;CACtB,CAAC;AAkCF;;GAEG;AACH,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;WAE3C,YAAY;gBAKxB,IAAI,EAAE,OAAO,CAAC,6BAA6B,CAAC;IA6BvC,QAAQ;cAIC,kBAAkB;IAIrB,uBAAuB,CAAC,UAAU,EAAE,MAAM;IAIhD,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAIrC,gBAAgB,CAAC,KAAK,EAAE,MAAM;;;;IAkB9B,cAAc,CAAC,UAAU,EAAE,MAAM;;;cAQ9B,SAAS,IAAI,OAAO,CAAC,YAAY,EAAE,CAAC;IAiB7C,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM;IAInC,YAAY;IAiBzB;;;OAGG;IACU,iBAAiB;IAI9B;;;OAGG;IACU,MAAM,CACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC;IAgBhC;;;OAGG;YACW,WAAW;IAqBzB;;;OAGG;YACW,gBAAgB;IAS9B;;OAEG;YACW,kBAAkB;IA6ChC;;;OAGG;YACW,aAAa;IAS3B;;OAEG;YACW,eAAe;IAgC7B;;;;;;;;;;;;;;;;OAgBG;YACW,mBAAmB;CAUlC"}
|
|
@@ -1,23 +1,4 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
|
|
5
|
-
}) : (function(o, m, k, k2) {
|
|
6
|
-
if (k2 === undefined) k2 = k;
|
|
7
|
-
o[k2] = m[k];
|
|
8
|
-
}));
|
|
9
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
10
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
11
|
-
}) : function(o, v) {
|
|
12
|
-
o["default"] = v;
|
|
13
|
-
});
|
|
14
|
-
var __importStar = (this && this.__importStar) || function (mod) {
|
|
15
|
-
if (mod && mod.__esModule) return mod;
|
|
16
|
-
var result = {};
|
|
17
|
-
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
18
|
-
__setModuleDefault(result, mod);
|
|
19
|
-
return result;
|
|
20
|
-
};
|
|
21
2
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
22
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
23
4
|
};
|
|
@@ -26,7 +7,6 @@ exports.DatabricksDriver = void 0;
|
|
|
26
7
|
/* eslint-disable no-restricted-syntax */
|
|
27
8
|
const fs_1 = __importDefault(require("fs"));
|
|
28
9
|
const path_1 = __importDefault(require("path"));
|
|
29
|
-
const node_fetch_1 = __importStar(require("node-fetch"));
|
|
30
10
|
const client_s3_1 = require("@aws-sdk/client-s3");
|
|
31
11
|
const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
|
|
32
12
|
const storage_blob_1 = require("@azure/storage-blob");
|
|
@@ -150,307 +130,84 @@ class DatabricksDriver extends jdbc_driver_1.JDBCDriver {
|
|
|
150
130
|
return this.config.exportBucket !== undefined;
|
|
151
131
|
}
|
|
152
132
|
/**
|
|
153
|
-
*
|
|
133
|
+
* Saves pre-aggs table to the bucket and returns links to download
|
|
134
|
+
* results.
|
|
154
135
|
*/
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
}
|
|
165
|
-
catch (e) {
|
|
166
|
-
res = '';
|
|
167
|
-
}
|
|
168
|
-
if (!res.length) {
|
|
169
|
-
throw new Error(`Error parsing API URL from the CUBEJS_DB_DATABRICKS_URL = ${this.config.url}`);
|
|
170
|
-
}
|
|
171
|
-
return res;
|
|
136
|
+
async unload(tableName) {
|
|
137
|
+
const types = await this.tableColumnTypes(tableName);
|
|
138
|
+
const columns = types.map(t => t.name).join(', ');
|
|
139
|
+
const pathname = `${this.config.exportBucket}/${tableName}.csv`;
|
|
140
|
+
const csvFile = await this.getCsvFiles(tableName, columns, pathname);
|
|
141
|
+
return {
|
|
142
|
+
csvFile,
|
|
143
|
+
types,
|
|
144
|
+
csvNoHeader: true,
|
|
145
|
+
};
|
|
172
146
|
}
|
|
173
147
|
/**
|
|
174
|
-
*
|
|
148
|
+
* Unload table to bucket using Databricks JDBC query and returns (async)
|
|
149
|
+
* csv files signed URLs array.
|
|
175
150
|
*/
|
|
176
|
-
|
|
151
|
+
async getCsvFiles(table, columns, pathname) {
|
|
177
152
|
let res;
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
.
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
}
|
|
188
|
-
if (!res.length) {
|
|
189
|
-
throw new Error('Error parsing API token from the CUBEJS_DB_DATABRICKS_URL' +
|
|
190
|
-
` = ${this.config.url}`);
|
|
153
|
+
switch (this.config.bucketType) {
|
|
154
|
+
case 'azure':
|
|
155
|
+
res = await this.getAzureCsvFiles(table, columns, pathname);
|
|
156
|
+
break;
|
|
157
|
+
case 's3':
|
|
158
|
+
res = await this.getS3CsvFiles(table, columns, pathname);
|
|
159
|
+
break;
|
|
160
|
+
default:
|
|
161
|
+
throw new Error(`Unsupported export bucket type: ${this.config.bucketType}`);
|
|
191
162
|
}
|
|
192
163
|
return res;
|
|
193
164
|
}
|
|
194
165
|
/**
|
|
195
|
-
*
|
|
196
|
-
|
|
197
|
-
wait(ms) {
|
|
198
|
-
return shared_1.pausePromise(ms);
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Assert http response.
|
|
202
|
-
*/
|
|
203
|
-
async assertResponse(response) {
|
|
204
|
-
if (!response.ok) {
|
|
205
|
-
const text = await response.text();
|
|
206
|
-
throw new Error(`Databricks API call error: ${response.status} - ${response.statusText} - ${text}`);
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
/**
|
|
210
|
-
* Fetch API wrapper.
|
|
211
|
-
*/
|
|
212
|
-
async fetch(req, count, ms) {
|
|
213
|
-
count = count || 0;
|
|
214
|
-
ms = ms || 0;
|
|
215
|
-
return new Promise((resolve, reject) => {
|
|
216
|
-
this
|
|
217
|
-
.wait(ms)
|
|
218
|
-
.then(() => {
|
|
219
|
-
node_fetch_1.default(req)
|
|
220
|
-
.then((res) => {
|
|
221
|
-
this
|
|
222
|
-
.assertResponse(res)
|
|
223
|
-
.then(() => {
|
|
224
|
-
resolve(res);
|
|
225
|
-
})
|
|
226
|
-
.catch((err) => {
|
|
227
|
-
if (res.status === 429 && count < 5) {
|
|
228
|
-
this
|
|
229
|
-
.fetch(req, count++, ms + 1000)
|
|
230
|
-
.then((_res) => { resolve(_res); })
|
|
231
|
-
.catch((_err) => { reject(_err); });
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
reject(err);
|
|
235
|
-
}
|
|
236
|
-
});
|
|
237
|
-
});
|
|
238
|
-
});
|
|
239
|
-
});
|
|
240
|
-
}
|
|
241
|
-
/**
|
|
242
|
-
* Returns IDs of databricks runned clusters.
|
|
243
|
-
*/
|
|
244
|
-
async getClustersIds() {
|
|
245
|
-
const url = `https://${this.getApiUrl()}/api/2.0/clusters/list`;
|
|
246
|
-
const request = new node_fetch_1.Request(url, {
|
|
247
|
-
headers: new node_fetch_1.Headers({
|
|
248
|
-
Accept: '*/*',
|
|
249
|
-
Authorization: `Bearer ${this.getApiToken()}`,
|
|
250
|
-
}),
|
|
251
|
-
});
|
|
252
|
-
const response = await this.fetch(request);
|
|
253
|
-
const body = await response.json();
|
|
254
|
-
return body.clusters
|
|
255
|
-
.filter(item => item.state === 'RUNNING')
|
|
256
|
-
.map(item => item.cluster_id);
|
|
257
|
-
}
|
|
258
|
-
/**
|
|
259
|
-
* Determine whether notebook exist or no.
|
|
260
|
-
*/
|
|
261
|
-
async checkNotebook(p) {
|
|
262
|
-
const url = `https://${this.getApiUrl()}/api/2.0/workspace/list?path=${p}`;
|
|
263
|
-
const request = new node_fetch_1.Request(url, {
|
|
264
|
-
method: 'GET',
|
|
265
|
-
headers: new node_fetch_1.Headers({
|
|
266
|
-
Accept: '*/*',
|
|
267
|
-
Authorization: `Bearer ${this.getApiToken()}`,
|
|
268
|
-
}),
|
|
269
|
-
});
|
|
270
|
-
try {
|
|
271
|
-
await this.fetch(request);
|
|
272
|
-
return true;
|
|
273
|
-
}
|
|
274
|
-
catch (e) {
|
|
275
|
-
return false;
|
|
276
|
-
}
|
|
277
|
-
}
|
|
278
|
-
/**
|
|
279
|
-
* Import predefined nodebook to the databricks under specified path.
|
|
280
|
-
*/
|
|
281
|
-
async importNotebook(p, content) {
|
|
282
|
-
const url = `https://${this.getApiUrl()}/api/2.0/workspace/import`;
|
|
283
|
-
const request = new node_fetch_1.Request(url, {
|
|
284
|
-
method: 'POST',
|
|
285
|
-
headers: new node_fetch_1.Headers({
|
|
286
|
-
Accept: '*/*',
|
|
287
|
-
Authorization: `Bearer ${this.getApiToken()}`,
|
|
288
|
-
}),
|
|
289
|
-
body: JSON.stringify({
|
|
290
|
-
format: 'SOURCE',
|
|
291
|
-
language: 'SCALA',
|
|
292
|
-
overwrite: true,
|
|
293
|
-
content,
|
|
294
|
-
path: p,
|
|
295
|
-
}),
|
|
296
|
-
});
|
|
297
|
-
await this.fetch(request);
|
|
298
|
-
}
|
|
299
|
-
/**
|
|
300
|
-
* Create job and returns job id.
|
|
166
|
+
* Saves specified table to the Azure blob storage and returns (async)
|
|
167
|
+
* csv files signed URLs array.
|
|
301
168
|
*/
|
|
302
|
-
async
|
|
303
|
-
|
|
304
|
-
|
|
305
|
-
method: 'POST',
|
|
306
|
-
headers: new node_fetch_1.Headers({
|
|
307
|
-
Accept: '*/*',
|
|
308
|
-
Authorization: `Bearer ${this.getApiToken()}`,
|
|
309
|
-
}),
|
|
310
|
-
body: JSON.stringify({
|
|
311
|
-
existing_cluster_id: cluster,
|
|
312
|
-
notebook_task: {
|
|
313
|
-
notebook_path: p,
|
|
314
|
-
},
|
|
315
|
-
}),
|
|
316
|
-
});
|
|
317
|
-
const response = await this.fetch(request);
|
|
318
|
-
const body = await response.json();
|
|
319
|
-
return body.job_id;
|
|
169
|
+
async getAzureCsvFiles(table, columns, pathname) {
|
|
170
|
+
await this.createExternalTable(table, columns);
|
|
171
|
+
return this.getSignedAzureUrls(pathname);
|
|
320
172
|
}
|
|
321
173
|
/**
|
|
322
|
-
*
|
|
174
|
+
* Returns Azure signed URLs of unloaded scv files.
|
|
323
175
|
*/
|
|
324
|
-
async
|
|
325
|
-
const
|
|
326
|
-
const
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
});
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
176
|
+
async getSignedAzureUrls(pathname) {
|
|
177
|
+
const csvFile = [];
|
|
178
|
+
const [container, account] = pathname.split('wasbs://')[1].split('.blob')[0].split('@');
|
|
179
|
+
const foldername = pathname.split(`${this.config.exportBucket}/`)[1];
|
|
180
|
+
const expr = new RegExp(`${foldername}\\/.*\\.csv$`, 'i');
|
|
181
|
+
const credential = new storage_blob_1.StorageSharedKeyCredential(account, this.config.azureKey);
|
|
182
|
+
const blobClient = new storage_blob_1.BlobServiceClient(`https://${account}.blob.core.windows.net`, credential);
|
|
183
|
+
const containerClient = blobClient.getContainerClient(container);
|
|
184
|
+
const blobsList = containerClient.listBlobsFlat({ prefix: foldername });
|
|
185
|
+
for await (const blob of blobsList) {
|
|
186
|
+
if (blob.name && expr.test(blob.name)) {
|
|
187
|
+
const sas = storage_blob_1.generateBlobSASQueryParameters({
|
|
188
|
+
containerName: container,
|
|
189
|
+
blobName: blob.name,
|
|
190
|
+
permissions: storage_blob_1.ContainerSASPermissions.parse('r'),
|
|
191
|
+
startsOn: new Date(new Date().valueOf()),
|
|
192
|
+
expiresOn: new Date(new Date().valueOf() + 1000 * 60 * 60),
|
|
193
|
+
protocol: storage_blob_1.SASProtocol.Https,
|
|
194
|
+
version: '2020-08-04',
|
|
195
|
+
}, credential).toString();
|
|
196
|
+
csvFile.push(`https://${account}.blob.core.windows.net/${container}/${blob.name}?${sas}`);
|
|
197
|
+
}
|
|
339
198
|
}
|
|
199
|
+
return csvFile;
|
|
340
200
|
}
|
|
341
201
|
/**
|
|
342
|
-
*
|
|
343
|
-
|
|
344
|
-
async deleteJob(job) {
|
|
345
|
-
const url = `https://${this.getApiUrl()}/api/2.0/jobs/delete`;
|
|
346
|
-
const request = new node_fetch_1.Request(url, {
|
|
347
|
-
method: 'POST',
|
|
348
|
-
headers: new node_fetch_1.Headers({
|
|
349
|
-
Accept: '*/*',
|
|
350
|
-
Authorization: `Bearer ${this.getApiToken()}`,
|
|
351
|
-
}),
|
|
352
|
-
body: JSON.stringify({
|
|
353
|
-
job_id: job,
|
|
354
|
-
}),
|
|
355
|
-
});
|
|
356
|
-
await this.fetch(request);
|
|
357
|
-
}
|
|
358
|
-
/**
|
|
359
|
-
* Run job and returns run id.
|
|
360
|
-
*/
|
|
361
|
-
async runJob(job, type, columns, table, pathname, awsKey, awsSecret, azureStorage, azureKey) {
|
|
362
|
-
const url = `https://${this.getApiUrl()}/api/2.0/jobs/run-now`;
|
|
363
|
-
const request = new node_fetch_1.Request(url, {
|
|
364
|
-
method: 'POST',
|
|
365
|
-
headers: new node_fetch_1.Headers({
|
|
366
|
-
Accept: '*/*',
|
|
367
|
-
Authorization: `Bearer ${this.getApiToken()}`,
|
|
368
|
-
}),
|
|
369
|
-
body: JSON.stringify({
|
|
370
|
-
job_id: job,
|
|
371
|
-
notebook_params: {
|
|
372
|
-
type,
|
|
373
|
-
columns,
|
|
374
|
-
table,
|
|
375
|
-
pathname,
|
|
376
|
-
// aws
|
|
377
|
-
awsKey,
|
|
378
|
-
awsSecret,
|
|
379
|
-
// azure
|
|
380
|
-
azureStorage,
|
|
381
|
-
azureKey,
|
|
382
|
-
}
|
|
383
|
-
}),
|
|
384
|
-
});
|
|
385
|
-
const response = await this.fetch(request);
|
|
386
|
-
const body = await response.json();
|
|
387
|
-
return body.run_id;
|
|
388
|
-
}
|
|
389
|
-
/**
|
|
390
|
-
* Pooling databricks until run in progress and resolve when it's done.
|
|
391
|
-
*/
|
|
392
|
-
async waitResult(run, ms) {
|
|
393
|
-
ms = ms || 1000;
|
|
394
|
-
ms = ms <= 5000 ? ms + 1000 : ms;
|
|
395
|
-
return new Promise((resolve, reject) => {
|
|
396
|
-
const url = `https://${this.getApiUrl()}/api/2.0/jobs/runs/get?run_id=${run}`;
|
|
397
|
-
const request = new node_fetch_1.Request(url, {
|
|
398
|
-
headers: new node_fetch_1.Headers({
|
|
399
|
-
Accept: '*/*',
|
|
400
|
-
Authorization: `Bearer ${this.getApiToken()}`,
|
|
401
|
-
}),
|
|
402
|
-
});
|
|
403
|
-
this
|
|
404
|
-
.wait(ms)
|
|
405
|
-
.then(() => {
|
|
406
|
-
this
|
|
407
|
-
.fetch(request)
|
|
408
|
-
.then((response) => {
|
|
409
|
-
response
|
|
410
|
-
.json()
|
|
411
|
-
.then((body) => {
|
|
412
|
-
const { state } = body;
|
|
413
|
-
if (state.life_cycle_state === 'TERMINATED' &&
|
|
414
|
-
state.result_state === 'SUCCESS') {
|
|
415
|
-
resolve(state.result_state);
|
|
416
|
-
}
|
|
417
|
-
else if (state.life_cycle_state === 'INTERNAL_ERROR' ||
|
|
418
|
-
state.result_state === 'FAILED' ||
|
|
419
|
-
state.result_state === 'TIMEDOUT' ||
|
|
420
|
-
state.result_state === 'CANCELED') {
|
|
421
|
-
reject(state.result_state);
|
|
422
|
-
}
|
|
423
|
-
else {
|
|
424
|
-
this
|
|
425
|
-
.waitResult(run, ms)
|
|
426
|
-
.then((res) => { resolve(res); })
|
|
427
|
-
.catch((err) => { reject(err); });
|
|
428
|
-
}
|
|
429
|
-
});
|
|
430
|
-
});
|
|
431
|
-
});
|
|
432
|
-
});
|
|
433
|
-
}
|
|
434
|
-
/**
|
|
435
|
-
* Remove nodebook.
|
|
202
|
+
* Saves specified table to the S3 bucket and returns (async) csv files
|
|
203
|
+
* signed URLs array.
|
|
436
204
|
*/
|
|
437
|
-
async
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
method: 'POST',
|
|
441
|
-
headers: new node_fetch_1.Headers({
|
|
442
|
-
Accept: '*/*',
|
|
443
|
-
Authorization: `Bearer ${this.getApiToken()}`,
|
|
444
|
-
}),
|
|
445
|
-
body: JSON.stringify({
|
|
446
|
-
path: p,
|
|
447
|
-
recursive: true,
|
|
448
|
-
}),
|
|
449
|
-
});
|
|
450
|
-
await this.fetch(request);
|
|
205
|
+
async getS3CsvFiles(table, columns, pathname) {
|
|
206
|
+
await this.createExternalTable(table, columns);
|
|
207
|
+
return this.getSignedS3Urls(pathname);
|
|
451
208
|
}
|
|
452
209
|
/**
|
|
453
|
-
* Returns signed
|
|
210
|
+
* Returns S3 signed URLs of unloaded scv files.
|
|
454
211
|
*/
|
|
455
212
|
async getSignedS3Urls(pathname) {
|
|
456
213
|
const client = new client_s3_1.S3({
|
|
@@ -469,7 +226,7 @@ class DatabricksDriver extends jdbc_driver_1.JDBCDriver {
|
|
|
469
226
|
throw new Error(`No content in specified path: ${pathname}`);
|
|
470
227
|
}
|
|
471
228
|
const csvFile = await Promise.all(list.Contents
|
|
472
|
-
.filter(file => file.Key && /.csv
|
|
229
|
+
.filter(file => file.Key && /.csv$/i.test(file.Key))
|
|
473
230
|
.map(async (file) => {
|
|
474
231
|
const command = new client_s3_1.GetObjectCommand({
|
|
475
232
|
Bucket: url.host,
|
|
@@ -480,156 +237,28 @@ class DatabricksDriver extends jdbc_driver_1.JDBCDriver {
|
|
|
480
237
|
return csvFile;
|
|
481
238
|
}
|
|
482
239
|
/**
|
|
483
|
-
*
|
|
484
|
-
|
|
485
|
-
|
|
486
|
-
|
|
487
|
-
|
|
488
|
-
|
|
489
|
-
|
|
490
|
-
|
|
491
|
-
|
|
492
|
-
|
|
493
|
-
|
|
494
|
-
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
|
|
498
|
-
.option("header", "false")
|
|
499
|
-
.option("codec", "org.apache.hadoop.io.compress.GzipCodec")
|
|
500
|
-
.save("${pathname}")`, 'utf-8').toString('base64');
|
|
501
|
-
const cluster = (await this.getClustersIds())[0];
|
|
502
|
-
const notebook = await this.checkNotebook(filename);
|
|
503
|
-
if (!notebook) {
|
|
504
|
-
await this.importNotebook(filename, content);
|
|
505
|
-
}
|
|
506
|
-
if (!this._job) {
|
|
507
|
-
this._job = await this.createJob(cluster, filename);
|
|
508
|
-
}
|
|
509
|
-
else {
|
|
510
|
-
const exist = await this.checkJob(this._job);
|
|
511
|
-
if (!exist) {
|
|
512
|
-
this._job = await this.createJob(cluster, filename);
|
|
513
|
-
}
|
|
514
|
-
}
|
|
515
|
-
const run = await this.runJob(this._job, 's3', columns, table, pathname, this.config.awsKey, this.config.awsSecret);
|
|
516
|
-
await this.waitResult(run);
|
|
517
|
-
// await this.deleteJob(job);
|
|
518
|
-
result = await this.getSignedS3Urls(pathname);
|
|
519
|
-
return result;
|
|
520
|
-
}
|
|
521
|
-
/**
|
|
522
|
-
* Returns signed temporary URLs for Azure container objects.
|
|
523
|
-
*/
|
|
524
|
-
async getSignedWasbsUrls(pathname) {
|
|
525
|
-
const csvFile = [];
|
|
526
|
-
const [container, account] = pathname.split('wasbs://')[1].split('.blob')[0].split('@');
|
|
527
|
-
const foldername = pathname.split(`${this.config.exportBucket}/`)[1];
|
|
528
|
-
const expr = new RegExp(`${foldername}\\/.*\\.csv.gz$`, 'i');
|
|
529
|
-
const credential = new storage_blob_1.StorageSharedKeyCredential(account, this.config.azureKey);
|
|
530
|
-
const blobClient = new storage_blob_1.BlobServiceClient(`https://${account}.blob.core.windows.net`, credential);
|
|
531
|
-
const containerClient = blobClient.getContainerClient(container);
|
|
532
|
-
const blobsList = containerClient.listBlobsFlat({ prefix: foldername });
|
|
533
|
-
for await (const blob of blobsList) {
|
|
534
|
-
if (blob.name && expr.test(blob.name)) {
|
|
535
|
-
const sas = storage_blob_1.generateBlobSASQueryParameters({
|
|
536
|
-
containerName: container,
|
|
537
|
-
blobName: blob.name,
|
|
538
|
-
permissions: storage_blob_1.ContainerSASPermissions.parse('r'),
|
|
539
|
-
startsOn: new Date(new Date().valueOf()),
|
|
540
|
-
expiresOn: new Date(new Date().valueOf() + 1000 * 60 * 60),
|
|
541
|
-
protocol: storage_blob_1.SASProtocol.Https,
|
|
542
|
-
version: '2020-08-04',
|
|
543
|
-
}, credential).toString();
|
|
544
|
-
csvFile.push(`https://${account}.blob.core.windows.net/${container}/${blob.name}?${sas}`);
|
|
545
|
-
}
|
|
546
|
-
}
|
|
547
|
-
return csvFile;
|
|
548
|
-
}
|
|
549
|
-
/**
|
|
550
|
-
* Unload to Azure Blob Container bucket.
|
|
551
|
-
*/
|
|
552
|
-
async unloadWasbsCommand(table, columns, pathname) {
|
|
553
|
-
let result = [];
|
|
554
|
-
const filename = '/unload-preaggs.scala';
|
|
555
|
-
const storage = pathname.split('@')[1].split('.')[0];
|
|
556
|
-
const content = Buffer.from(`
|
|
557
|
-
dbutils.widgets.text("azureStorage", "azureStorage", "azureStorage")
|
|
558
|
-
dbutils.widgets.text("azureKey", "azureKey", "azureKey")
|
|
559
|
-
dbutils.widgets.text("columns", "columns", "columns")
|
|
560
|
-
dbutils.widgets.text("table", "table", "table")
|
|
561
|
-
dbutils.widgets.text("pathname", "pathname", "pathname")
|
|
562
|
-
|
|
563
|
-
val azureStorage = dbutils.widgets.get("azureStorage")
|
|
564
|
-
val azureKey = dbutils.widgets.get("azureKey")
|
|
565
|
-
val columns = dbutils.widgets.get("columns")
|
|
566
|
-
val table = dbutils.widgets.get("table")
|
|
567
|
-
val pathname = dbutils.widgets.get("pathname")
|
|
568
|
-
|
|
569
|
-
spark.conf.set(
|
|
570
|
-
"fs.azure.account.key." + azureStorage + ".blob.core.windows.net",
|
|
571
|
-
azureKey
|
|
572
|
-
)
|
|
573
|
-
|
|
574
|
-
sqlContext
|
|
575
|
-
.sql("SELECT " + columns + " FROM " + table)
|
|
576
|
-
.write
|
|
577
|
-
.format("com.databricks.spark.csv")
|
|
578
|
-
.option("header", "false")
|
|
579
|
-
.option("codec", "org.apache.hadoop.io.compress.GzipCodec")
|
|
580
|
-
.save(pathname)
|
|
581
|
-
`, 'utf-8').toString('base64');
|
|
582
|
-
const cluster = (await this.getClustersIds())[0];
|
|
583
|
-
const notebook = await this.checkNotebook(filename);
|
|
584
|
-
if (!notebook) {
|
|
585
|
-
await this.importNotebook(filename, content);
|
|
586
|
-
}
|
|
587
|
-
if (!this._job) {
|
|
588
|
-
this._job = await this.createJob(cluster, filename);
|
|
589
|
-
}
|
|
590
|
-
else {
|
|
591
|
-
const exist = await this.checkJob(this._job);
|
|
592
|
-
if (!exist) {
|
|
593
|
-
this._job = await this.createJob(cluster, filename);
|
|
594
|
-
}
|
|
595
|
-
}
|
|
596
|
-
const run = await this.runJob(this._job, 'azure', columns, table, pathname, undefined, undefined, storage, this.config.azureKey);
|
|
597
|
-
await this.waitResult(run);
|
|
598
|
-
// await this.deleteJob(job);
|
|
599
|
-
result = await this.getSignedWasbsUrls(pathname);
|
|
600
|
-
return result;
|
|
601
|
-
}
|
|
602
|
-
/**
|
|
603
|
-
* Unload table to bucket.
|
|
240
|
+
* Saves specified table to the configured bucket. This requires Databricks
|
|
241
|
+
* cluster to be configured.
|
|
242
|
+
*
|
|
243
|
+
* For Azure blob storage you need to configure account access key in
|
|
244
|
+
* Cluster -> Configuration -> Advanced options
|
|
245
|
+
* (https://docs.databricks.com/data/data-sources/azure/azure-storage.html#access-azure-blob-storage-directly)
|
|
246
|
+
*
|
|
247
|
+
* `fs.azure.account.key.<storage-account-name>.blob.core.windows.net <storage-account-access-key>`
|
|
248
|
+
*
|
|
249
|
+
* For S3 bucket storage you need to configure AWS access key and secret in
|
|
250
|
+
* Cluster -> Configuration -> Advanced options
|
|
251
|
+
* (https://docs.databricks.com/data/data-sources/aws/amazon-s3.html#access-s3-buckets-directly)
|
|
252
|
+
*
|
|
253
|
+
* `fs.s3a.access.key <aws-access-key>`
|
|
254
|
+
* `fs.s3a.secret.key <aws-secret-key>`
|
|
604
255
|
*/
|
|
605
|
-
async
|
|
606
|
-
|
|
607
|
-
|
|
608
|
-
|
|
609
|
-
|
|
610
|
-
|
|
611
|
-
case 'azure':
|
|
612
|
-
res = await this.unloadWasbsCommand(table, columns, pathname);
|
|
613
|
-
break;
|
|
614
|
-
default:
|
|
615
|
-
throw new Error(`Unsupported export bucket type: ${this.config.bucketType}`);
|
|
616
|
-
}
|
|
617
|
-
return res;
|
|
618
|
-
}
|
|
619
|
-
/**
|
|
620
|
-
* Saves pre-aggs table to the bucket and returns links to download
|
|
621
|
-
* results.
|
|
622
|
-
*/
|
|
623
|
-
async unload(tableName) {
|
|
624
|
-
const types = await this.tableColumnTypes(tableName);
|
|
625
|
-
const columns = types.map(t => t.name).join(', ');
|
|
626
|
-
const pathname = `${this.config.exportBucket}/${tableName}.csv`;
|
|
627
|
-
const csvFile = await this.unloadCommand(tableName, columns, pathname);
|
|
628
|
-
return {
|
|
629
|
-
csvFile,
|
|
630
|
-
types,
|
|
631
|
-
csvNoHeader: true,
|
|
632
|
-
};
|
|
256
|
+
async createExternalTable(table, columns) {
|
|
257
|
+
await this.query(`
|
|
258
|
+
CREATE TABLE ${table}_csv_export
|
|
259
|
+
USING CSV LOCATION '${this.config.exportBucket}/${table}.csv'
|
|
260
|
+
AS SELECT ${columns} FROM ${table}
|
|
261
|
+
`, []);
|
|
633
262
|
}
|
|
634
263
|
}
|
|
635
264
|
exports.DatabricksDriver = DatabricksDriver;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DatabricksDriver.js","sourceRoot":"","sources":["../../src/DatabricksDriver.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DatabricksDriver.js","sourceRoot":"","sources":["../../src/DatabricksDriver.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
"name": "@cubejs-backend/databricks-jdbc-driver",
|
|
3
3
|
"description": "Cube.js Databricks database driver",
|
|
4
4
|
"author": "Cube Dev, Inc.",
|
|
5
|
-
"version": "0.30.
|
|
5
|
+
"version": "0.30.23",
|
|
6
6
|
"license": "Apache-2.0",
|
|
7
7
|
"repository": {
|
|
8
8
|
"type": "git",
|
|
@@ -61,5 +61,5 @@
|
|
|
61
61
|
"jest": {
|
|
62
62
|
"testEnvironment": "node"
|
|
63
63
|
},
|
|
64
|
-
"gitHead": "
|
|
64
|
+
"gitHead": "c9c3f53678cb8dae856a6b49b9ca00941edb504d"
|
|
65
65
|
}
|