Skip to content

Commit c627ce8

Browse files
authored
🧱 private preview with Unity catalog and Oauth using service principal (#37613)
1 parent d793c1d commit c627ce8

File tree

92 files changed

+2333
-2232
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

92 files changed

+2333
-2232
lines changed

airbyte-integrations/connectors/destination-databricks/build.gradle

+19-22
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,11 @@
1515
plugins {
1616
id 'application'
1717
id 'airbyte-java-connector'
18-
id "de.undercouch.download" version "5.0.1"
1918
}
2019

2120
airbyteJavaConnector {
22-
cdkVersionRequired = '0.2.0'
23-
features = ['db-destinations']
21+
cdkVersionRequired = '0.35.6'
22+
features = ['db-destinations', 's3-destinations', 'typing-deduping']
2423
useLocalCdk = false
2524
}
2625

@@ -34,27 +33,25 @@ java {
3433
airbyteJavaConnector.addCdkDependencies()
3534

3635
application {
37-
mainClass = 'io.airbyte.integrations.destination.databricks.DatabricksDestination'
38-
applicationDefaultJvmArgs = ['-XX:+ExitOnOutOfMemoryError', '-XX:MaxRAMPercentage=75.0']
36+
mainClass = 'io.airbyte.integrations.destination.databricks.DatabricksDestinationKt'
37+
// Adding ZGC with Generational enabled from Java 21 hotspotVM. NativeMemory tracking if any
38+
// memory leaks outside heap. Add string dedup which is supported now in ZGC from Java 18
39+
applicationDefaultJvmArgs = ['-XX:+ExitOnOutOfMemoryError', '-XX:MaxRAMPercentage=75.0',
40+
'-XX:NativeMemoryTracking=detail', '-XX:+UseZGC', '-XX:+ZGenerational',
41+
'-XX:+UseStringDeduplication']
3942
}
4043

4144
dependencies {
42-
implementation project(':airbyte-integrations:connectors:destination-s3')
43-
implementation project(':airbyte-integrations:connectors:destination-azure-blob-storage')
44-
implementation group: 'com.databricks', name: 'databricks-jdbc', version: '2.6.25'
45-
46-
// parquet
47-
implementation ('org.apache.hadoop:hadoop-common:3.3.3') {
48-
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
49-
exclude group: 'org.slf4j', module: 'slf4j-reload4j'
50-
}
51-
implementation ('org.apache.hadoop:hadoop-aws:3.3.3') { exclude group: 'org.slf4j', module: 'slf4j-log4j12'}
52-
implementation ('org.apache.hadoop:hadoop-mapreduce-client-core:3.3.3') {
53-
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
54-
exclude group: 'org.slf4j', module: 'slf4j-reload4j'
55-
}
56-
implementation ('org.apache.parquet:parquet-avro:1.12.0') { exclude group: 'org.slf4j', module: 'slf4j-log4j12'}
57-
implementation ('com.github.airbytehq:json-avro-converter:1.1.0') { exclude group: 'ch.qos.logback', module: 'logback-classic'}
45+
// Databricks JDBC driver
46+
implementation 'com.databricks:databricks-jdbc:2.6.36'
47+
implementation 'com.databricks:databricks-sdk-java:0.23.0'
48+
}
5849

59-
implementation 'com.azure:azure-storage-blob:12.18.0'
50+
test {
51+
// Required for Databricks JDBC. There is a pending bug to fix Apache Arrow.
52+
jvmArgs = ["-Dio.netty.tryReflectionSetAccessible=true",
53+
"--add-opens=java.base/java.nio=ALL-UNNAMED",
54+
"--add-opens=jdk.unsupported/sun.misc=ALL-UNNAMED",
55+
"--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED",
56+
"--add-opens=java.base/sun.nio.ch=ALL-UNNAMED"]
6057
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
testExecutionConcurrency=-1
2+
# minimum 3 minutes timeout required during parallel workload on our small warehouse
3+
JunitMethodExecutionTimeout=3 m

airbyte-integrations/connectors/destination-databricks/metadata.yaml

+12-2
Original file line numberDiff line numberDiff line change
@@ -2,11 +2,11 @@ data:
22
connectorSubtype: database
33
connectorType: destination
44
definitionId: 072d5540-f236-4294-ba7c-ade8fd918496
5-
dockerImageTag: 1.1.2
5+
dockerImageTag: 2.0.0
66
dockerRepository: airbyte/destination-databricks
77
githubIssueLabel: destination-databricks
88
icon: databricks.svg
9-
license: MIT
9+
license: ELv2
1010
name: Databricks Lakehouse
1111
registries:
1212
cloud:
@@ -16,6 +16,16 @@ data:
1616
enabled: true
1717
dockerImageTag: 1.1.0 # pinning due to CDK incompatibility, see https://github.com/airbytehq/alpha-beta-issues/issues/2596
1818
releaseStage: alpha
19+
releases:
20+
breakingChanges:
21+
2.0.0:
22+
message: >
23+
**This is a private preview version, Do not upgrade until you review the changes**.\n
24+
This version is a rewrite of the community connector with support for Unity catalog, and staging files using Unity catalog volumes.
25+
This version also introduces [Destinations V2](https://docs.airbyte.com/release_notes/upgrading_to_destinations_v2/#what-is-destinations-v2),
26+
which provides better error handling, incremental delivery of data for large syncs, and improved final table structures.
27+
To review the breaking changes, see [here](https://docs.airbyte.com/release_notes/upgrading_to_destinations_v2/#quick-start-to-upgrading).
28+
upgradeDeadline: "2024-12-31"
1929
documentationUrl: https://docs.airbyte.com/integrations/destinations/databricks
2030
tags:
2131
- language:java

airbyte-integrations/connectors/destination-databricks/src/main/java/io/airbyte/integrations/destination/databricks/DatabricksDestination.java

-27
This file was deleted.

airbyte-integrations/connectors/destination-databricks/src/main/java/io/airbyte/integrations/destination/databricks/DatabricksDestinationConfig.java

-54
This file was deleted.

airbyte-integrations/connectors/destination-databricks/src/main/java/io/airbyte/integrations/destination/databricks/DatabricksDestinationResolver.java

-41
This file was deleted.

airbyte-integrations/connectors/destination-databricks/src/main/java/io/airbyte/integrations/destination/databricks/DatabricksExternalStorageBaseDestination.java

-76
This file was deleted.

airbyte-integrations/connectors/destination-databricks/src/main/java/io/airbyte/integrations/destination/databricks/DatabricksManagedTablesDestination.java

-50
This file was deleted.

airbyte-integrations/connectors/destination-databricks/src/main/java/io/airbyte/integrations/destination/databricks/DatabricksNameTransformer.java

-36
This file was deleted.

0 commit comments

Comments
 (0)