@cubejs-backend/databricks-jdbc-driver 0.29.41 → 0.29.51

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,34 @@
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.51](https://github.com/cube-js/cube.js/compare/v0.29.50...v0.29.51) (2022-04-22)
7
+
8
+
9
+ ### Features
10
+
11
+ * **databricks-driver:** Export bucket support for S3/Azure ([#4430](https://github.com/cube-js/cube.js/issues/4430)) ([4512126](https://github.com/cube-js/cube.js/commit/4512126346fd2650fdcba3936ed1eb129b34af9d))
12
+ * **query-language:** "startsWith", "endsWith" filters support ([#4128](https://github.com/cube-js/cube.js/issues/4128)) ([e8c72d6](https://github.com/cube-js/cube.js/commit/e8c72d630eecd930a8fd36fc52f9b594a45d59c0))
13
+
14
+
15
+
16
+
17
+
18
+ ## [0.29.48](https://github.com/cube-js/cube.js/compare/v0.29.47...v0.29.48) (2022-04-14)
19
+
20
+ **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver
21
+
22
+
23
+
24
+
25
+
26
+ ## [0.29.42](https://github.com/cube-js/cube.js/compare/v0.29.41...v0.29.42) (2022-04-04)
27
+
28
+ **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver
29
+
30
+
31
+
32
+
33
+
6
34
  ## [0.29.41](https://github.com/cube-js/cube.js/compare/v0.29.40...v0.29.41) (2022-04-03)
7
35
 
8
36
  **Note:** Version bump only for package @cubejs-backend/databricks-jdbc-driver
@@ -1,7 +1,15 @@
1
+ import { DownloadTableCSVData } from '@cubejs-backend/query-orchestrator';
1
2
  import { JDBCDriver, JDBCDriverConfiguration } from '@cubejs-backend/jdbc-driver';
2
3
  import { DatabricksQuery } from './DatabricksQuery';
3
4
  export declare type DatabricksDriverConfiguration = JDBCDriverConfiguration & {
4
5
  readOnly?: boolean;
6
+ bucketType?: string;
7
+ exportBucket?: string;
8
+ pollInterval?: number;
9
+ awsKey?: string;
10
+ awsSecret?: string;
11
+ awsRegion?: string;
12
+ azureKey?: string;
5
13
  };
6
14
  declare type ShowTableRow = {
7
15
  database: string;
@@ -11,7 +19,7 @@ declare type ShowTableRow = {
11
19
  export declare class DatabricksDriver extends JDBCDriver {
12
20
  protected readonly config: DatabricksDriverConfiguration;
13
21
  static dialectClass(): typeof DatabricksQuery;
14
- constructor(configuration: Partial<DatabricksDriverConfiguration>);
22
+ constructor(conf: Partial<DatabricksDriverConfiguration>);
15
23
  readOnly(): boolean;
16
24
  protected getCustomClassPath(): Promise<string>;
17
25
  createSchemaIfNotExists(schemaName: string): Promise<any[]>;
@@ -26,6 +34,62 @@ export declare class DatabricksDriver extends JDBCDriver {
26
34
  protected getTables(): Promise<ShowTableRow[]>;
27
35
  toGenericType(columnType: string): string;
28
36
  tablesSchema(): Promise<Record<string, Record<string, object>>>;
37
+ /**
38
+ * Determines whether export bucket feature is configured or no.
39
+ * @returns {boolean}
40
+ */
41
+ isUnloadSupported(): Promise<boolean>;
42
+ /**
43
+ * Returns databricks API base URL.
44
+ */
45
+ private getApiUrl;
46
+ /**
47
+ * Returns databricks API token.
48
+ */
49
+ private getApiToken;
50
+ /**
51
+ * Returns IDs of databricks runned clusters.
52
+ */
53
+ private getClustersIds;
54
+ /**
55
+ * Returns execution context ("scala" by default) for spesified
56
+ * cluster.
57
+ */
58
+ private getContextId;
59
+ /**
60
+ * Running specified command.
61
+ */
62
+ private runCommand;
63
+ /**
64
+ * Resolves command result.
65
+ * TODO: timeout to cancel job?
66
+ */
67
+ private commandResult;
68
+ /**
69
+ * Returns signed temporary URLs for AWS S3 objects.
70
+ */
71
+ private getSignedS3Urls;
72
+ /**
73
+ * Unload to AWS S3 bucket.
74
+ */
75
+ private unloadS3Command;
76
+ /**
77
+ * Returns signed temporary URLs for Azure container objects.
78
+ */
79
+ private getSignedWasbsUrls;
80
+ /**
81
+ * Unload to Azure Blob Container bucket.
82
+ */
83
+ private unloadWasbsCommand;
84
+ /**
85
+ * Unload table to bucket.
86
+ */
87
+ private unloadCommand;
88
+ /**
89
+ * Saves pre-aggs table to the bucket and returns links to download
90
+ * results.
91
+ */
92
+ unload(tableName: string): Promise<DownloadTableCSVData>;
29
93
  }
30
94
  export {};
31
95
  //# sourceMappingURL=DatabricksDriver.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DatabricksDriver.d.ts","sourceRoot":"","sources":["../../src/DatabricksDriver.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,MAAM,6BAA6B,CAAC;AAKlF,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAGpD,oBAAY,6BAA6B,GAAG,uBAAuB,GAAG;IACpE,QAAQ,CAAC,EAAE,OAAO,CAAC;CACpB,CAAC;AAUF,aAAK,YAAY,GAAG;IAAE,QAAQ,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,WAAW,EAAE,OAAO,CAAA;CAAE,CAAC;AA2BlF,qBAAa,gBAAiB,SAAQ,UAAU;IAC9C,SAAS,CAAC,QAAQ,CAAC,MAAM,EAAE,6BAA6B,CAAC;WAE3C,YAAY;gBAIP,aAAa,EAAE,OAAO,CAAC,6BAA6B,CAAC;IAgBjE,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;CAgB1B"}
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;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,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;YACW,cAAc;IAmC5B;;;OAGG;YACW,YAAY;IA+B1B;;OAEG;YACW,UAAU;IAmCxB;;;OAGG;YACW,aAAa;IA+D3B;;OAEG;YACW,eAAe;IAgC7B;;OAEG;YACW,eAAe;IAmC7B;;OAEG;YACW,kBAAkB;IAgDhC;;OAEG;YACW,kBAAkB;IAkChC;;OAEG;YACW,aAAa;IAqB3B;;;OAGG;IACU,MAAM,CACjB,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,oBAAoB,CAAC;CAejC"}
@@ -1,14 +1,37 @@
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
+ };
2
21
  var __importDefault = (this && this.__importDefault) || function (mod) {
3
22
  return (mod && mod.__esModule) ? mod : { "default": mod };
4
23
  };
5
24
  Object.defineProperty(exports, "__esModule", { value: true });
6
25
  exports.DatabricksDriver = void 0;
7
26
  /* eslint-disable no-restricted-syntax */
8
- const jdbc_driver_1 = require("@cubejs-backend/jdbc-driver");
9
- const shared_1 = require("@cubejs-backend/shared");
10
27
  const fs_1 = __importDefault(require("fs"));
11
28
  const path_1 = __importDefault(require("path"));
29
+ const node_fetch_1 = __importStar(require("node-fetch"));
30
+ const client_s3_1 = require("@aws-sdk/client-s3");
31
+ const s3_request_presigner_1 = require("@aws-sdk/s3-request-presigner");
32
+ const storage_blob_1 = require("@azure/storage-blob");
33
+ const jdbc_driver_1 = require("@cubejs-backend/jdbc-driver");
34
+ const shared_1 = require("@cubejs-backend/shared");
12
35
  const DatabricksQuery_1 = require("./DatabricksQuery");
13
36
  const installer_1 = require("./installer");
14
37
  async function fileExistsOr(fsPath, fn) {
@@ -30,19 +53,31 @@ async function resolveJDBCDriver() {
30
53
  if (pathOrNull) {
31
54
  return pathOrNull;
32
55
  }
33
- throw new Error('Please download and place SparkJDBC42.jar inside your project directory');
56
+ throw new Error('Please download and place SparkJDBC42.jar inside your ' +
57
+ 'project directory');
34
58
  }));
35
59
  }
36
60
  class DatabricksDriver extends jdbc_driver_1.JDBCDriver {
37
- constructor(configuration) {
61
+ constructor(conf) {
38
62
  const config = {
39
- database: shared_1.getEnv('dbName', { required: false }),
40
- dbType: 'databricks',
41
- url: shared_1.getEnv('databrickUrl'),
63
+ ...conf,
42
64
  drivername: 'com.simba.spark.jdbc.Driver',
43
65
  customClassPath: undefined,
44
66
  properties: {},
45
- ...configuration
67
+ dbType: 'databricks',
68
+ database: shared_1.getEnv('dbName', { required: false }),
69
+ url: shared_1.getEnv('databrickUrl'),
70
+ // common export bucket config
71
+ bucketType: (conf === null || conf === void 0 ? void 0 : conf.bucketType) ||
72
+ shared_1.getEnv('dbExportBucketType', { supported: ['s3', 'azure'] }),
73
+ exportBucket: (conf === null || conf === void 0 ? void 0 : conf.exportBucket) || shared_1.getEnv('dbExportBucket'),
74
+ pollInterval: ((conf === null || conf === void 0 ? void 0 : conf.pollInterval) || shared_1.getEnv('dbPollMaxInterval')) * 1000,
75
+ // AWS export bucket config
76
+ awsKey: (conf === null || conf === void 0 ? void 0 : conf.awsKey) || shared_1.getEnv('dbExportBucketAwsKey'),
77
+ awsSecret: (conf === null || conf === void 0 ? void 0 : conf.awsSecret) || shared_1.getEnv('dbExportBucketAwsSecret'),
78
+ awsRegion: (conf === null || conf === void 0 ? void 0 : conf.awsRegion) || shared_1.getEnv('dbExportBucketAwsRegion'),
79
+ // Azure export bucket
80
+ azureKey: (conf === null || conf === void 0 ? void 0 : conf.azureKey) || shared_1.getEnv('dbExportBucketAzureKey'),
46
81
  };
47
82
  super(config);
48
83
  this.config = config;
@@ -104,6 +139,307 @@ class DatabricksDriver extends jdbc_driver_1.JDBCDriver {
104
139
  }));
105
140
  return metadata;
106
141
  }
142
+ /**
143
+ * Determines whether export bucket feature is configured or no.
144
+ * @returns {boolean}
145
+ */
146
+ async isUnloadSupported() {
147
+ return this.config.exportBucket !== undefined;
148
+ }
149
+ /**
150
+ * Returns databricks API base URL.
151
+ */
152
+ getApiUrl() {
153
+ let res;
154
+ try {
155
+ // eslint-disable-next-line prefer-destructuring
156
+ res = this.config.url
157
+ .split(';')
158
+ .filter(node => /^jdbc/i.test(node))[0]
159
+ .split('/')[2]
160
+ .split(':')[0];
161
+ }
162
+ catch (e) {
163
+ res = '';
164
+ }
165
+ if (!res.length) {
166
+ throw new Error(`Error parsing API URL from the CUBEJS_DB_DATABRICKS_URL = ${this.config.url}`);
167
+ }
168
+ return res;
169
+ }
170
+ /**
171
+ * Returns databricks API token.
172
+ */
173
+ getApiToken() {
174
+ let res;
175
+ try {
176
+ // eslint-disable-next-line prefer-destructuring
177
+ res = this.config.url
178
+ .split(';')
179
+ .filter(node => /^PWD/i.test(node))[0]
180
+ .split('=')[1];
181
+ }
182
+ catch (e) {
183
+ res = '';
184
+ }
185
+ if (!res.length) {
186
+ throw new Error('Error parsing API token from the CUBEJS_DB_DATABRICKS_URL' +
187
+ ` = ${this.config.url}`);
188
+ }
189
+ return res;
190
+ }
191
+ /**
192
+ * Returns IDs of databricks runned clusters.
193
+ */
194
+ async getClustersIds() {
195
+ const url = `https://${this.getApiUrl()}/api/1.2/clusters/list`;
196
+ const request = new node_fetch_1.Request(url, {
197
+ headers: new node_fetch_1.Headers({
198
+ Accept: '*/*',
199
+ Authorization: `Bearer ${this.getApiToken()}`,
200
+ }),
201
+ });
202
+ const response = await node_fetch_1.default(request);
203
+ if (!response.ok) {
204
+ throw new Error(`Databricks API call error: ${response.status} - ${response.statusText}`);
205
+ }
206
+ const body = (await response.json());
207
+ return body
208
+ .filter(item => item.status === 'Running')
209
+ .map(item => item.id);
210
+ }
211
+ /**
212
+ * Returns execution context ("scala" by default) for spesified
213
+ * cluster.
214
+ */
215
+ async getContextId(clusterId, language = 'scala') {
216
+ const url = `https://${this.getApiUrl()}/api/1.2/contexts/create`;
217
+ const request = new node_fetch_1.Request(url, {
218
+ method: 'POST',
219
+ headers: new node_fetch_1.Headers({
220
+ Accept: '*/*',
221
+ Authorization: `Bearer ${this.getApiToken()}`,
222
+ }),
223
+ body: JSON.stringify({
224
+ clusterId,
225
+ language,
226
+ }),
227
+ });
228
+ const response = await node_fetch_1.default(request);
229
+ if (!response.ok) {
230
+ throw new Error(`Databricks API call error: ${response.status} - ${response.statusText}`);
231
+ }
232
+ const body = (await response.json());
233
+ return body.id;
234
+ }
235
+ /**
236
+ * Running specified command.
237
+ */
238
+ async runCommand(clusterId, contextId, language, command) {
239
+ const url = `https://${this.getApiUrl()}/api/1.2/commands/execute`;
240
+ const request = new node_fetch_1.Request(url, {
241
+ method: 'POST',
242
+ headers: new node_fetch_1.Headers({
243
+ Accept: '*/*',
244
+ Authorization: `Bearer ${this.getApiToken()}`,
245
+ 'Content-Type': 'application/json',
246
+ }),
247
+ body: JSON.stringify({
248
+ clusterId,
249
+ contextId,
250
+ language,
251
+ command,
252
+ }),
253
+ });
254
+ const response = await node_fetch_1.default(request);
255
+ if (!response.ok) {
256
+ throw new Error(`Databricks API call error: ${response.status} - ${response.statusText}`);
257
+ }
258
+ const body = (await response.json());
259
+ return body.id;
260
+ }
261
+ /**
262
+ * Resolves command result.
263
+ * TODO: timeout to cancel job?
264
+ */
265
+ async commandResult(clusterId, contextId, commandId) {
266
+ return new Promise((resolve, reject) => {
267
+ const url = `https://${this.getApiUrl()}/api/1.2/commands/status?clusterId=${clusterId}&contextId=${contextId}&commandId=${commandId}`;
268
+ const request = new node_fetch_1.Request(url, {
269
+ headers: new node_fetch_1.Headers({
270
+ Accept: '*/*',
271
+ Authorization: `Bearer ${this.getApiToken()}`,
272
+ }),
273
+ });
274
+ node_fetch_1.default(request).then((response) => {
275
+ if (!response.ok) {
276
+ reject();
277
+ throw new Error(`Databricks API call error: ${response.status} - ${response.statusText}`);
278
+ }
279
+ response.json().then((body) => {
280
+ const b = body;
281
+ if (b.status === 'Finished') {
282
+ resolve(b.results);
283
+ }
284
+ else if (b.status === 'Error') {
285
+ reject(b.results);
286
+ }
287
+ else if (b.status === 'Cancelled') {
288
+ reject(b.results);
289
+ }
290
+ else {
291
+ shared_1.pausePromise(this.config.pollInterval)
292
+ .then(() => {
293
+ this.commandResult(clusterId, contextId, commandId).then((res) => {
294
+ resolve(res);
295
+ }).catch((err) => {
296
+ reject(err);
297
+ });
298
+ });
299
+ }
300
+ });
301
+ });
302
+ });
303
+ }
304
+ /**
305
+ * Returns signed temporary URLs for AWS S3 objects.
306
+ */
307
+ async getSignedS3Urls(pathname) {
308
+ const client = new client_s3_1.S3({
309
+ credentials: {
310
+ accessKeyId: this.config.awsKey,
311
+ secretAccessKey: this.config.awsSecret,
312
+ },
313
+ region: this.config.awsRegion,
314
+ });
315
+ const url = new URL(pathname);
316
+ const list = await client.listObjectsV2({
317
+ Bucket: url.host,
318
+ Prefix: url.pathname.slice(1),
319
+ });
320
+ if (list.Contents === undefined) {
321
+ throw new Error(`No content in specified path: ${pathname}`);
322
+ }
323
+ const csvFile = await Promise.all(list.Contents
324
+ .filter(file => file.Key && /.csv$/i.test(file.Key))
325
+ .map(async (file) => {
326
+ const command = new client_s3_1.GetObjectCommand({
327
+ Bucket: url.host,
328
+ Key: file.Key,
329
+ });
330
+ return s3_request_presigner_1.getSignedUrl(client, command, { expiresIn: 3600 });
331
+ }));
332
+ return csvFile;
333
+ }
334
+ /**
335
+ * Unload to AWS S3 bucket.
336
+ */
337
+ async unloadS3Command(table, columns, pathname) {
338
+ const clusterId = (await this.getClustersIds())[0];
339
+ const contextId = await this.getContextId(clusterId);
340
+ const commandId = await this.runCommand(clusterId, contextId, 'scala', `
341
+ sc.hadoopConfiguration.set(
342
+ "fs.s3n.awsAccessKeyId", "${this.config.awsKey}"
343
+ )
344
+ sc.hadoopConfiguration.set(
345
+ "fs.s3n.awsSecretAccessKey","${this.config.awsSecret}"
346
+ )
347
+ sqlContext
348
+ .sql("SELECT ${columns} FROM ${table}")
349
+ .write
350
+ .format("com.databricks.spark.csv")
351
+ .option("header", "false")
352
+ .save("${pathname}")
353
+ `);
354
+ await this.commandResult(clusterId, contextId, commandId);
355
+ const result = await this.getSignedS3Urls(pathname);
356
+ return result;
357
+ }
358
+ /**
359
+ * Returns signed temporary URLs for Azure container objects.
360
+ */
361
+ async getSignedWasbsUrls(pathname) {
362
+ // const pathname = `${this.config.exportBucket}/${tableName}.csv`;
363
+ // wasbs://cubejs-bucket@cubecloud.blob.core.windows.net/test/orderspa.csv
364
+ const csvFile = [];
365
+ const [container, account] = pathname.split('wasbs://')[1].split('.blob')[0].split('@');
366
+ const foldername = pathname.split(`${this.config.exportBucket}/`)[1];
367
+ const expr = new RegExp(`${foldername}\\/.*\\.csv$`, 'i');
368
+ const credential = new storage_blob_1.StorageSharedKeyCredential(account, this.config.azureKey);
369
+ const blobClient = new storage_blob_1.BlobServiceClient(`https://${account}.blob.core.windows.net`, credential);
370
+ const containerClient = blobClient.getContainerClient(container);
371
+ const blobsList = containerClient.listBlobsFlat();
372
+ for await (const blob of blobsList) {
373
+ if (blob.name && expr.test(blob.name)) {
374
+ const sas = storage_blob_1.generateBlobSASQueryParameters({
375
+ containerName: container,
376
+ blobName: blob.name,
377
+ permissions: storage_blob_1.ContainerSASPermissions.parse('r'),
378
+ startsOn: new Date(new Date().valueOf()),
379
+ expiresOn: new Date(new Date().valueOf() + 1000 * 60 * 60),
380
+ protocol: storage_blob_1.SASProtocol.Https,
381
+ version: '2020-08-04',
382
+ }, credential).toString();
383
+ csvFile.push(`https://${account}.blob.core.windows.net/${container}/${blob.name}?${sas}`);
384
+ }
385
+ }
386
+ return csvFile;
387
+ }
388
+ /**
389
+ * Unload to Azure Blob Container bucket.
390
+ */
391
+ async unloadWasbsCommand(table, columns, pathname) {
392
+ const storage = pathname.split('@')[1].split('.')[0];
393
+ const clusterId = (await this.getClustersIds())[0];
394
+ const contextId = await this.getContextId(clusterId);
395
+ const commandId = await this.runCommand(clusterId, contextId, 'scala', `
396
+ spark.conf.set(
397
+ "fs.azure.account.key.${storage}.blob.core.windows.net",
398
+ "${this.config.azureKey}"
399
+ )
400
+ sqlContext
401
+ .sql("SELECT ${columns} FROM ${table}")
402
+ .write
403
+ .format("com.databricks.spark.csv")
404
+ .option("header", "false")
405
+ .save("${pathname}")
406
+ `);
407
+ await this.commandResult(clusterId, contextId, commandId);
408
+ const result = await this.getSignedWasbsUrls(pathname);
409
+ return result;
410
+ }
411
+ /**
412
+ * Unload table to bucket.
413
+ */
414
+ async unloadCommand(table, columns, pathname) {
415
+ let res;
416
+ switch (this.config.bucketType) {
417
+ case 's3':
418
+ res = await this.unloadS3Command(table, columns, pathname);
419
+ break;
420
+ case 'azure':
421
+ res = await this.unloadWasbsCommand(table, columns, pathname);
422
+ break;
423
+ default:
424
+ throw new Error(`Unsupported export bucket type: ${this.config.bucketType}`);
425
+ }
426
+ return res;
427
+ }
428
+ /**
429
+ * Saves pre-aggs table to the bucket and returns links to download
430
+ * results.
431
+ */
432
+ async unload(tableName) {
433
+ const types = await this.tableColumnTypes(tableName);
434
+ const columns = types.map(t => t.name).join(', ');
435
+ const pathname = `${this.config.exportBucket}/${tableName}.csv`;
436
+ const csvFile = await this.unloadCommand(tableName, columns, pathname);
437
+ return {
438
+ csvFile,
439
+ types,
440
+ csvNoHeader: true,
441
+ };
442
+ }
107
443
  }
108
444
  exports.DatabricksDriver = DatabricksDriver;
109
445
  //# sourceMappingURL=DatabricksDriver.js.map
@@ -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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"}
@@ -1,6 +1,6 @@
1
1
  import { BaseFilter, BaseQuery } from '@cubejs-backend/schema-compiler';
2
2
  declare class DatabricksFilter extends BaseFilter {
3
- likeIgnoreCase(column: any, not: any, param: any): string;
3
+ likeIgnoreCase(column: any, not: any, param: any, type: string): string;
4
4
  }
5
5
  export declare class DatabricksQuery extends BaseQuery {
6
6
  newFilter(filter: any): DatabricksFilter;
@@ -1 +1 @@
1
- {"version":3,"file":"DatabricksQuery.d.ts","sourceRoot":"","sources":["../../src/DatabricksQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAaxE,cAAM,gBAAiB,SAAQ,UAAU;IAChC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG;CAGxD;AAED,qBAAa,eAAgB,SAAQ,SAAS;IACrC,SAAS,CAAC,MAAM,EAAE,GAAG;IAIrB,SAAS,CAAC,KAAK,EAAE,MAAM;IAIvB,aAAa,CAAC,KAAK,EAAE,MAAM;IAI3B,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAM/C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAM1C,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAIjE,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAI7B,aAAa,CAAC,EAAE,EAAE,MAAM;IAQxB,gBAAgB;IAIhB,SAAS,CAAC,aAAa,EAAE,GAAG;IAO5B,iBAAiB,CAAC,IAAI,EAAE,GAAG;IAyB3B,aAAa;IAUb,iCAAiC;CAGzC"}
1
+ {"version":3,"file":"DatabricksQuery.d.ts","sourceRoot":"","sources":["../../src/DatabricksQuery.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,iCAAiC,CAAC;AAaxE,cAAM,gBAAiB,SAAQ,UAAU;IAChC,cAAc,CAAC,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM;CAKtE;AAED,qBAAa,eAAgB,SAAQ,SAAS;IACrC,SAAS,CAAC,MAAM,EAAE,GAAG;IAIrB,SAAS,CAAC,KAAK,EAAE,MAAM;IAIvB,aAAa,CAAC,KAAK,EAAE,MAAM;IAI3B,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,gBAAgB,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAM/C,WAAW,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAM1C,iBAAiB,CAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAIjE,gBAAgB,CAAC,IAAI,EAAE,MAAM;IAI7B,aAAa,CAAC,EAAE,EAAE,MAAM;IAQxB,gBAAgB;IAIhB,SAAS,CAAC,aAAa,EAAE,GAAG;IAO5B,iBAAiB,CAAC,IAAI,EAAE,GAAG;IAyB3B,aAAa;IAUb,iCAAiC;CAGzC"}
@@ -17,8 +17,10 @@ const GRANULARITY_TO_INTERVAL = {
17
17
  year: 'year'
18
18
  };
19
19
  class DatabricksFilter extends schema_compiler_1.BaseFilter {
20
- likeIgnoreCase(column, not, param) {
21
- return `${column}${not ? ' NOT' : ''} LIKE CONCAT('%', ${this.allocateParam(param)}, '%')`;
20
+ likeIgnoreCase(column, not, param, type) {
21
+ const p = (!type || type === 'contains' || type === 'ends') ? '%' : '';
22
+ const s = (!type || type === 'contains' || type === 'starts') ? '%' : '';
23
+ return `${column}${not ? ' NOT' : ''} LIKE CONCAT('${p}', ${this.allocateParam(param)}, '${s}')`;
22
24
  }
23
25
  }
24
26
  class DatabricksQuery extends schema_compiler_1.BaseQuery {
@@ -1 +1 @@
1
- {"version":3,"file":"DatabricksQuery.js","sourceRoot":"","sources":["../../src/DatabricksQuery.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DatabricksQuery.js","sourceRoot":"","sources":["../../src/DatabricksQuery.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.29.41",
5
+ "version": "0.29.51",
6
6
  "license": "Apache-2.0",
7
7
  "repository": {
8
8
  "type": "git",
@@ -28,11 +28,15 @@
28
28
  "bin"
29
29
  ],
30
30
  "dependencies": {
31
- "@cubejs-backend/jdbc-driver": "^0.29.41",
32
- "@cubejs-backend/query-orchestrator": "^0.29.37",
33
- "@cubejs-backend/schema-compiler": "^0.29.37",
34
- "@cubejs-backend/shared": "^0.29.37",
31
+ "@aws-sdk/client-s3": "^3.49.0",
32
+ "@aws-sdk/s3-request-presigner": "^3.49.0",
33
+ "@azure/storage-blob": "^12.9.0",
34
+ "@cubejs-backend/jdbc-driver": "^0.29.51",
35
+ "@cubejs-backend/query-orchestrator": "^0.29.51",
36
+ "@cubejs-backend/schema-compiler": "^0.29.51",
37
+ "@cubejs-backend/shared": "^0.29.51",
35
38
  "inquirer": "^8.0.0",
39
+ "node-fetch": "^2.6.1",
36
40
  "ramda": "^0.27.1",
37
41
  "source-map-support": "^0.5.19"
38
42
  },
@@ -55,5 +59,5 @@
55
59
  "jest": {
56
60
  "testEnvironment": "node"
57
61
  },
58
- "gitHead": "793211ac77cfd71dfd09c96020fdf0817b0cd640"
62
+ "gitHead": "44469b8ce956df50c2288194b550407bdb70c22d"
59
63
  }