Skip to content

Commit 26c9a27

Browse files
committed
fix(databricks-driver): fix databricks bucket URL parsing. Now driver supports both (legacy and modern urls) (#8968)
* chore(testing-drivers): update databricks export to azure configuration * fix azure blobs filtering * add support for azure 'dfs.core.windows.net' alongside with 'blob.core.windows.net' * update test snapshots # Conflicts: # packages/cubejs-testing-drivers/test/__snapshots__/databricks-jdbc-export-bucket-azure-full.test.ts.snap
1 parent b20a3ca commit 26c9a27

File tree

3 files changed

+1688
-283
lines changed

3 files changed

+1688
-283
lines changed

packages/cubejs-base-driver/src/BaseDriver.ts

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -751,7 +751,8 @@ export abstract class BaseDriver implements DriverInterface {
751751
bucketName: string,
752752
tableName: string
753753
): Promise<string[]> {
754-
const parts = bucketName.split('.blob.core.windows.net/');
754+
const splitter = bucketName.includes('blob.core') ? '.blob.core.windows.net/' : '.dfs.core.windows.net/';
755+
const parts = bucketName.split(splitter);
755756
const account = parts[0];
756757
const container = parts[1].split('/')[0];
757758
let credential: StorageSharedKeyCredential | DefaultAzureCredential;
@@ -805,7 +806,7 @@ export abstract class BaseDriver implements DriverInterface {
805806

806807
const csvFiles: string[] = [];
807808
const containerClient = blobServiceClient.getContainerClient(container);
808-
const blobsList = containerClient.listBlobsFlat({ prefix: `${tableName}/` });
809+
const blobsList = containerClient.listBlobsFlat({ prefix: `${tableName}` });
809810
for await (const blob of blobsList) {
810811
if (blob.name && (blob.name.endsWith('.csv.gz') || blob.name.endsWith('.csv'))) {
811812
const starts = new Date();

packages/cubejs-testing-drivers/fixtures/databricks-jdbc.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"cube": {
1616
"environment": {
1717
"CUBEJS_DB_EXPORT_BUCKET_TYPE": "azure",
18-
"CUBEJS_DB_EXPORT_BUCKET": "wasbs://databricks-drivers-tests-preaggs@coreteamdevtest.blob.core.windows.net",
18+
"CUBEJS_DB_EXPORT_BUCKET": "abfss://databricks-drivers-tests-preaggs@coreteamdevtest.dfs.core.windows.net",
1919
"CUBEJS_DB_EXPORT_BUCKET_AZURE_KEY": "${DRIVERS_TESTS_CUBEJS_DB_EXPORT_BUCKET_AZURE_KEY}"
2020
}
2121
}

0 commit comments

Comments
 (0)