@cubejs-backend/databricks-jdbc-driver 0.30.20 → 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,39 @@
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
+
17
+ ## [0.30.22](https://github.com/cube-js/cube.js/compare/v0.30.21...v0.30.22) (2022-06-14)
18
+
19
+
20
+ ### Bug Fixes
21
+
22
+ * **@cubejs-backend/databricks-jdbc-driver:** Missing prefix during blob listing ([0ffea61](https://github.com/cube-js/cube.js/commit/0ffea61a8d3de5afe2cbee351d359d262669024c))
23
+
24
+
25
+
26
+
27
+
28
+ ## [0.30.21](https://github.com/cube-js/cube.js/compare/v0.30.20...v0.30.21) (2022-06-13)
29
+
30
+
31
+ ### Features
32
+
33
+ * **databricks-jdbc:** improving performance ([1ef4504](https://github.com/cube-js/cube.js/commit/1ef45040f912d7f81b76a0495ddfa5db28ad9067))
34
+
35
+
36
+
37
+
38
+
6
39
  ## [0.30.20](https://github.com/cube-js/cube.js/compare/v0.30.19...v0.30.20) (2022-06-11)
7
40
 
8
41
  **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver
@@ -43,78 +43,51 @@ export declare class DatabricksDriver extends JDBCDriver {
43
43
  */
44
44
  isUnloadSupported(): Promise<boolean>;
45
45
  /**
46
- * Returns databricks API base URL.
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
- * Import predefined nodebook to the databricks under specified path.
71
- */
72
- private importNotebook;
73
- /**
74
- * Create job and returns job id.
46
+ * Saves pre-aggs table to the bucket and returns links to download
47
+ * results.
75
48
  */
76
- private createJob;
49
+ unload(tableName: string): Promise<DownloadTableCSVData>;
77
50
  /**
78
- * Run job and returns run id.
51
+ * Unload table to bucket using Databricks JDBC query and returns (async)
52
+ * csv files signed URLs array.
79
53
  */
80
- private runJob;
54
+ private getCsvFiles;
81
55
  /**
82
- * Pooling databricks until run in progress and resolve when it's done.
56
+ * Saves specified table to the Azure blob storage and returns (async)
57
+ * csv files signed URLs array.
83
58
  */
84
- private waitResult;
59
+ private getAzureCsvFiles;
85
60
  /**
86
- * Delete job.
61
+ * Returns Azure signed URLs of unloaded scv files.
87
62
  */
88
- private deleteJob;
63
+ private getSignedAzureUrls;
89
64
  /**
90
- * Remove nodebook.
65
+ * Saves specified table to the S3 bucket and returns (async) csv files
66
+ * signed URLs array.
91
67
  */
92
- private deleteNotebook;
68
+ private getS3CsvFiles;
93
69
  /**
94
- * Returns signed temporary URLs for AWS S3 objects.
70
+ * Returns S3 signed URLs of unloaded scv files.
95
71
  */
96
72
  private getSignedS3Urls;
97
73
  /**
98
- * Unload to AWS S3 bucket.
99
- */
100
- private unloadS3Command;
101
- /**
102
- * Returns signed temporary URLs for Azure container objects.
103
- */
104
- private getSignedWasbsUrls;
105
- /**
106
- * Unload to Azure Blob Container bucket.
107
- */
108
- private unloadWasbsCommand;
109
- /**
110
- * Unload table to bucket.
111
- */
112
- private unloadCommand;
113
- /**
114
- * Saves pre-aggs table to the bucket and returns links to download
115
- * results.
116
- */
117
- 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;
118
91
  }
119
92
  export {};
120
93
  //# sourceMappingURL=DatabricksDriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatabricksDriver.d.ts","sourceRoot":"","sources":["../../src/DatabricksDriver.ts"],"names":[],"mappings":"AAaA,OAAO,EACL,oBAAoB,EACrB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EACL,UAAU,EACV,uBAAuB,EACxB,MAAM,6BAA6B,CAAC;AAGrC,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;;OAEG;IACH,OAAO,CAAC,SAAS;IAsBjB;;OAEG;IACH,OAAO,CAAC,WAAW;IAoBnB;;OAEG;IACH,OAAO,CAAC,IAAI;IAIZ;;OAEG;YACW,cAAc;IAa5B;;OAEG;YACW,KAAK;IA2BnB;;OAEG;YACW,cAAc;IA2B5B;;OAEG;YACW,cAAc;IAqB5B;;OAEG;YACW,SAAS;IAyBvB;;OAEG;YACW,MAAM;IAsBpB;;OAEG;YACW,UAAU;IAsDxB;;OAEG;YACW,SAAS;IAiBvB;;OAEG;YACW,cAAc;IAkB5B;;OAEG;YACW,eAAe;IAgC7B;;OAEG;YACW,eAAe;IA2C7B;;OAEG;YACW,kBAAkB;IA6ChC;;OAEG;YACW,kBAAkB;IA2ChC;;OAEG;YACW,aAAa;IAqB3B;;;OAGG;IACU,MAAM,CACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC;CAejC"}
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,13 +7,11 @@ 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");
33
13
  const jdbc_driver_1 = require("@cubejs-backend/jdbc-driver");
34
14
  const shared_1 = require("@cubejs-backend/shared");
35
- const uuid_1 = require("uuid");
36
15
  const DatabricksQuery_1 = require("./DatabricksQuery");
37
16
  const installer_1 = require("./installer");
38
17
  async function fileExistsOr(fsPath, fn) {
@@ -151,253 +130,84 @@ class DatabricksDriver extends jdbc_driver_1.JDBCDriver {
151
130
  return this.config.exportBucket !== undefined;
152
131
  }
153
132
  /**
154
- * Returns databricks API base URL.
133
+ * Saves pre-aggs table to the bucket and returns links to download
134
+ * results.
155
135
  */
156
- getApiUrl() {
157
- let res;
158
- try {
159
- // eslint-disable-next-line prefer-destructuring
160
- res = this.config.url
161
- .split(';')
162
- .filter(node => /^jdbc/i.test(node))[0]
163
- .split('/')[2]
164
- .split(':')[0];
165
- }
166
- catch (e) {
167
- res = '';
168
- }
169
- if (!res.length) {
170
- throw new Error(`Error parsing API URL from the CUBEJS_DB_DATABRICKS_URL = ${this.config.url}`);
171
- }
172
- 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
+ };
173
146
  }
174
147
  /**
175
- * Returns databricks API token.
148
+ * Unload table to bucket using Databricks JDBC query and returns (async)
149
+ * csv files signed URLs array.
176
150
  */
177
- getApiToken() {
151
+ async getCsvFiles(table, columns, pathname) {
178
152
  let res;
179
- try {
180
- // eslint-disable-next-line prefer-destructuring
181
- res = this.config.url
182
- .split(';')
183
- .filter(node => /^PWD/i.test(node))[0]
184
- .split('=')[1];
185
- }
186
- catch (e) {
187
- res = '';
188
- }
189
- if (!res.length) {
190
- throw new Error('Error parsing API token from the CUBEJS_DB_DATABRICKS_URL' +
191
- ` = ${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}`);
192
162
  }
193
163
  return res;
194
164
  }
195
165
  /**
196
- * Sleeper method.
166
+ * Saves specified table to the Azure blob storage and returns (async)
167
+ * csv files signed URLs array.
197
168
  */
198
- wait(ms) {
199
- return shared_1.pausePromise(ms);
169
+ async getAzureCsvFiles(table, columns, pathname) {
170
+ await this.createExternalTable(table, columns);
171
+ return this.getSignedAzureUrls(pathname);
200
172
  }
201
173
  /**
202
- * Assert http response.
174
+ * Returns Azure signed URLs of unloaded scv files.
203
175
  */
204
- async assertResponse(response) {
205
- if (!response.ok) {
206
- const text = await response.text();
207
- throw new Error(`Databricks API call error: ${response.status} - ${response.statusText} - ${text}`);
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
+ }
208
198
  }
199
+ return csvFile;
209
200
  }
210
201
  /**
211
- * Fetch API wrapper.
212
- */
213
- async fetch(req, count, ms) {
214
- count = count || 0;
215
- ms = ms || 0;
216
- return new Promise((resolve, reject) => {
217
- this
218
- .wait(ms)
219
- .then(() => {
220
- node_fetch_1.default(req)
221
- .then((res) => {
222
- this
223
- .assertResponse(res)
224
- .then(() => { resolve(res); })
225
- .catch((err) => {
226
- if (res.status === 429 && count < 5) {
227
- this
228
- .fetch(req, count++, ms + 1000)
229
- .then((_res) => { resolve(_res); })
230
- .catch((_err) => { reject(_err); });
231
- }
232
- else {
233
- reject(err);
234
- }
235
- });
236
- });
237
- });
238
- });
239
- }
240
- /**
241
- * Returns IDs of databricks runned clusters.
242
- */
243
- async getClustersIds() {
244
- const url = `https://${this.getApiUrl()}/api/2.0/clusters/list`;
245
- const request = new node_fetch_1.Request(url, {
246
- headers: new node_fetch_1.Headers({
247
- Accept: '*/*',
248
- Authorization: `Bearer ${this.getApiToken()}`,
249
- }),
250
- });
251
- const response = await this.fetch(request);
252
- const body = await response.json();
253
- return body.clusters
254
- .filter(item => item.state === 'RUNNING')
255
- .map(item => item.cluster_id);
256
- }
257
- /**
258
- * Import predefined nodebook to the databricks under specified path.
259
- */
260
- async importNotebook(p, content) {
261
- const url = `https://${this.getApiUrl()}/api/2.0/workspace/import`;
262
- const request = new node_fetch_1.Request(url, {
263
- method: 'POST',
264
- headers: new node_fetch_1.Headers({
265
- Accept: '*/*',
266
- Authorization: `Bearer ${this.getApiToken()}`,
267
- }),
268
- body: JSON.stringify({
269
- format: 'SOURCE',
270
- language: 'SCALA',
271
- overwrite: true,
272
- content,
273
- path: p,
274
- }),
275
- });
276
- await this.fetch(request);
277
- }
278
- /**
279
- * Create job and returns job id.
280
- */
281
- async createJob(cluster, p) {
282
- const url = `https://${this.getApiUrl()}/api/2.0/jobs/create`;
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
- existing_cluster_id: cluster,
291
- notebook_task: {
292
- notebook_path: p,
293
- },
294
- }),
295
- });
296
- const response = await this.fetch(request);
297
- const body = await response.json();
298
- return body.job_id;
299
- }
300
- /**
301
- * Run job and returns run id.
302
- */
303
- async runJob(job) {
304
- const url = `https://${this.getApiUrl()}/api/2.0/jobs/run-now`;
305
- const request = new node_fetch_1.Request(url, {
306
- method: 'POST',
307
- headers: new node_fetch_1.Headers({
308
- Accept: '*/*',
309
- Authorization: `Bearer ${this.getApiToken()}`,
310
- }),
311
- body: JSON.stringify({
312
- job_id: job,
313
- }),
314
- });
315
- const response = await this.fetch(request);
316
- const body = await response.json();
317
- return body.run_id;
318
- }
319
- /**
320
- * Pooling databricks until run in progress and resolve when it's done.
321
- */
322
- async waitResult(run, ms) {
323
- ms = ms || 1000;
324
- ms = ms <= 10000 ? ms + 1000 : ms;
325
- return new Promise((resolve, reject) => {
326
- const url = `https://${this.getApiUrl()}/api/2.0/jobs/runs/get?run_id=${run}`;
327
- const request = new node_fetch_1.Request(url, {
328
- headers: new node_fetch_1.Headers({
329
- Accept: '*/*',
330
- Authorization: `Bearer ${this.getApiToken()}`,
331
- }),
332
- });
333
- this
334
- .wait(ms)
335
- .then(() => {
336
- this
337
- .fetch(request)
338
- .then((response) => {
339
- response
340
- .json()
341
- .then((body) => {
342
- const { state } = body;
343
- if (state.life_cycle_state === 'TERMINATED' &&
344
- state.result_state === 'SUCCESS') {
345
- resolve(state.result_state);
346
- }
347
- else if (state.life_cycle_state === 'INTERNAL_ERROR' ||
348
- state.result_state === 'FAILED' ||
349
- state.result_state === 'TIMEDOUT' ||
350
- state.result_state === 'CANCELED') {
351
- reject(state.result_state);
352
- }
353
- else {
354
- this
355
- .waitResult(run, ms)
356
- .then((res) => { resolve(res); })
357
- .catch((err) => { reject(err); });
358
- }
359
- });
360
- });
361
- });
362
- });
363
- }
364
- /**
365
- * Delete job.
366
- */
367
- async deleteJob(job) {
368
- const url = `https://${this.getApiUrl()}/api/2.0/jobs/delete`;
369
- const request = new node_fetch_1.Request(url, {
370
- method: 'POST',
371
- headers: new node_fetch_1.Headers({
372
- Accept: '*/*',
373
- Authorization: `Bearer ${this.getApiToken()}`,
374
- }),
375
- body: JSON.stringify({
376
- job_id: job,
377
- }),
378
- });
379
- await this.fetch(request);
380
- }
381
- /**
382
- * Remove nodebook.
202
+ * Saves specified table to the S3 bucket and returns (async) csv files
203
+ * signed URLs array.
383
204
  */
384
- async deleteNotebook(p) {
385
- const url = `https://${this.getApiUrl()}/api/2.0/workspace/delete`;
386
- const request = new node_fetch_1.Request(url, {
387
- method: 'POST',
388
- headers: new node_fetch_1.Headers({
389
- Accept: '*/*',
390
- Authorization: `Bearer ${this.getApiToken()}`,
391
- }),
392
- body: JSON.stringify({
393
- path: p,
394
- recursive: true,
395
- }),
396
- });
397
- await this.fetch(request);
205
+ async getS3CsvFiles(table, columns, pathname) {
206
+ await this.createExternalTable(table, columns);
207
+ return this.getSignedS3Urls(pathname);
398
208
  }
399
209
  /**
400
- * Returns signed temporary URLs for AWS S3 objects.
210
+ * Returns S3 signed URLs of unloaded scv files.
401
211
  */
402
212
  async getSignedS3Urls(pathname) {
403
213
  const client = new client_s3_1.S3({
@@ -427,144 +237,28 @@ class DatabricksDriver extends jdbc_driver_1.JDBCDriver {
427
237
  return csvFile;
428
238
  }
429
239
  /**
430
- * Unload to AWS S3 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>`
431
255
  */
432
- async unloadS3Command(table, columns, pathname) {
433
- let result = [];
434
- let notebook = true;
435
- const filename = `/${uuid_1.v5(pathname, uuid_1.v1()).toString()}.scala`;
436
- const content = Buffer.from(`sc.hadoopConfiguration.set(
437
- "fs.s3n.awsAccessKeyId", "${this.config.awsKey}"
438
- )
439
- sc.hadoopConfiguration.set(
440
- "fs.s3n.awsSecretAccessKey","${this.config.awsSecret}"
441
- )
442
- sqlContext
443
- .sql("SELECT ${columns} FROM ${table}")
444
- .write
445
- .format("com.databricks.spark.csv")
446
- .option("header", "false")
447
- .save("${pathname}")`, 'utf-8').toString('base64');
448
- const cluster = (await this.getClustersIds())[0];
449
- try {
450
- await this.importNotebook(filename, content);
451
- }
452
- catch (e) {
453
- notebook = false;
454
- }
455
- if (notebook) {
456
- try {
457
- const job = await this.createJob(cluster, filename);
458
- const run = await this.runJob(job);
459
- await this.waitResult(run);
460
- await this.deleteJob(job);
461
- result = await this.getSignedS3Urls(pathname);
462
- }
463
- finally {
464
- await this.deleteNotebook(filename);
465
- }
466
- }
467
- return result;
468
- }
469
- /**
470
- * Returns signed temporary URLs for Azure container objects.
471
- */
472
- async getSignedWasbsUrls(pathname) {
473
- const csvFile = [];
474
- const [container, account] = pathname.split('wasbs://')[1].split('.blob')[0].split('@');
475
- const foldername = pathname.split(`${this.config.exportBucket}/`)[1];
476
- const expr = new RegExp(`${foldername}\\/.*\\.csv$`, 'i');
477
- const credential = new storage_blob_1.StorageSharedKeyCredential(account, this.config.azureKey);
478
- const blobClient = new storage_blob_1.BlobServiceClient(`https://${account}.blob.core.windows.net`, credential);
479
- const containerClient = blobClient.getContainerClient(container);
480
- const blobsList = containerClient.listBlobsFlat();
481
- for await (const blob of blobsList) {
482
- if (blob.name && expr.test(blob.name)) {
483
- const sas = storage_blob_1.generateBlobSASQueryParameters({
484
- containerName: container,
485
- blobName: blob.name,
486
- permissions: storage_blob_1.ContainerSASPermissions.parse('r'),
487
- startsOn: new Date(new Date().valueOf()),
488
- expiresOn: new Date(new Date().valueOf() + 1000 * 60 * 60),
489
- protocol: storage_blob_1.SASProtocol.Https,
490
- version: '2020-08-04',
491
- }, credential).toString();
492
- csvFile.push(`https://${account}.blob.core.windows.net/${container}/${blob.name}?${sas}`);
493
- }
494
- }
495
- return csvFile;
496
- }
497
- /**
498
- * Unload to Azure Blob Container bucket.
499
- */
500
- async unloadWasbsCommand(table, columns, pathname) {
501
- let result = [];
502
- let notebook = true;
503
- const filename = `/${uuid_1.v5(pathname, uuid_1.v1()).toString()}.scala`;
504
- const storage = pathname.split('@')[1].split('.')[0];
505
- const content = Buffer.from(`spark.conf.set(
506
- "fs.azure.account.key.${storage}.blob.core.windows.net",
507
- "${this.config.azureKey}"
508
- )
509
- sqlContext
510
- .sql("SELECT ${columns} FROM ${table}")
511
- .write
512
- .format("com.databricks.spark.csv")
513
- .option("header", "false")
514
- .save("${pathname}")`, 'utf-8').toString('base64');
515
- // TODO: if there is no cluster should we create new one?
516
- const cluster = (await this.getClustersIds())[0];
517
- try {
518
- await this.importNotebook(filename, content);
519
- }
520
- catch (e) {
521
- notebook = false;
522
- }
523
- if (notebook) {
524
- try {
525
- const job = await this.createJob(cluster, filename);
526
- const run = await this.runJob(job);
527
- await this.waitResult(run);
528
- await this.deleteJob(job);
529
- result = await this.getSignedWasbsUrls(pathname);
530
- }
531
- finally {
532
- await this.deleteNotebook(filename);
533
- }
534
- }
535
- return result;
536
- }
537
- /**
538
- * Unload table to bucket.
539
- */
540
- async unloadCommand(table, columns, pathname) {
541
- let res;
542
- switch (this.config.bucketType) {
543
- case 's3':
544
- res = await this.unloadS3Command(table, columns, pathname);
545
- break;
546
- case 'azure':
547
- res = await this.unloadWasbsCommand(table, columns, pathname);
548
- break;
549
- default:
550
- throw new Error(`Unsupported export bucket type: ${this.config.bucketType}`);
551
- }
552
- return res;
553
- }
554
- /**
555
- * Saves pre-aggs table to the bucket and returns links to download
556
- * results.
557
- */
558
- async unload(tableName) {
559
- const types = await this.tableColumnTypes(tableName);
560
- const columns = types.map(t => t.name).join(', ');
561
- const pathname = `${this.config.exportBucket}/${tableName}.csv`;
562
- const csvFile = await this.unloadCommand(tableName, columns, pathname);
563
- return {
564
- csvFile,
565
- types,
566
- csvNoHeader: true,
567
- };
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
+ `, []);
568
262
  }
569
263
  }
570
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.20",
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": "345f2456c55e89dccadbabda54349943aa7f934e"
64
+ "gitHead": "c9c3f53678cb8dae856a6b49b9ca00941edb504d"
65
65
  }