Skip to content

🧱 private preview with Unity catalog and Oauth using service principal #37613

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 38 commits into from
May 19, 2024
Merged
Show file tree
Hide file tree
Changes from 28 commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
cb5ac6d
nuke it all
gisripa Apr 15, 2024
178d752
stash musings
gisripa Apr 17, 2024
3b6d729
simplify
gisripa Apr 17, 2024
d5fe4e7
add defaults/optionals
gisripa Apr 17, 2024
481c3f9
stash it
gisripa Apr 19, 2024
ac58279
Another stash
gisripa Apr 19, 2024
5c46247
T+D and good stuff stashed
gisripa Apr 26, 2024
8f8ddb0
Merge branch 'master' into gireesh/masonry
gisripa Apr 26, 2024
c51cd4d
stash
gisripa Apr 26, 2024
bec2705
allTypes test passing
gisripa Apr 29, 2024
7305182
SqlGen tests green
gisripa May 2, 2024
dfa823b
Merge branch 'master' into gireesh/masonry
gisripa May 2, 2024
7a49728
Merge branch 'master' into gireesh/masonry
gisripa May 2, 2024
aa5c453
placeholder
gisripa May 2, 2024
ba407e2
Merge branch 'master' into gireesh/masonry
gisripa May 2, 2024
8925962
T+D test wiring
gisripa May 3, 2024
28cb5a1
T+D tests green
gisripa May 3, 2024
19cfa6a
revert verifyRecords to private
gisripa May 3, 2024
424235b
cleanup
gisripa May 3, 2024
26acc4d
multi-thread init and finalize
gisripa May 3, 2024
aa6e90c
minor stash
gisripa May 6, 2024
08567fc
Merge branch 'master' into gireesh/masonry
gisripa May 7, 2024
7713acd
fix Tests with rebase
gisripa May 8, 2024
f4755c6
remove unused files
gisripa May 8, 2024
556b8ae
carving out storageOps interface
gisripa May 8, 2024
5ade8ca
make immutable StreamOperations
gisripa May 8, 2024
a6c8ad2
Merge branch 'master' into gireesh/masonry
gisripa May 8, 2024
8264a1b
add check and cleanup unused classes
gisripa May 9, 2024
814cf50
pr comments
gisripa May 9, 2024
1a9f07d
Fix for checks
gisripa May 9, 2024
e95d80f
Merge branch 'master' into gireesh/masonry
gisripa May 10, 2024
b22e57f
useLocalCdk false
gisripa May 10, 2024
3b21e1e
Merge branch 'master' into gireesh/masonry
gisripa May 17, 2024
56e0e51
Upgrade to latest CDK, use new interfaces
gisripa May 17, 2024
fb7e05f
formatfix
gisripa May 17, 2024
2c1684e
migrations placeholder
gisripa May 17, 2024
ad609dd
fix qa check
gisripa May 19, 2024
43fd319
yet another qa check
gisripa May 19, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions airbyte-cdk/java/airbyte-cdk/dependencies/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ dependencies {
api 'com.fasterxml.jackson.core:jackson-databind'
api 'com.fasterxml.jackson.dataformat:jackson-dataformat-yaml'
api 'com.fasterxml.jackson.datatype:jackson-datatype-jsr310'
api 'com.fasterxml.jackson.module:jackson-module-kotlin'
api 'com.google.guava:guava:33.0.0-jre'
api 'commons-io:commons-io:2.15.1'
api ('io.airbyte.airbyte-protocol:protocol-models:0.7.0') { exclude group: 'com.google.api-client', module: 'google-api-client' }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1544,7 +1544,7 @@ abstract class BaseSqlGeneratorIntegrationTest<DestinationState : MinimumDestina

@Test
@Throws(Exception::class)
fun testV1V2migration() {
open fun testV1V2migration() {
// This is maybe a little hacky, but it avoids having to refactor this entire class and
// subclasses
// for something that is going away
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ import com.google.common.collect.Streams
import io.airbyte.commons.json.Jsons
import java.math.BigDecimal
import java.time.*
import java.time.format.DateTimeParseException
import java.util.*
import java.util.function.Function
import java.util.stream.Collectors
Expand Down Expand Up @@ -440,7 +441,16 @@ constructor(
Instant.ofEpochMilli(Long.MIN_VALUE)
} else {
try {
Instant.parse(node.asText())
OffsetDateTime.parse(node.asText()).toInstant()
} catch (parseE: DateTimeParseException) {
// Fallback to using LocalDateTime and try again
// Some databases have Timestamp_TZ mapped to TIMESTAMP with no offset,
// this is sketchy to assume it as always UTC
try {
LocalDateTime.parse(node.asText()).toInstant(ZoneOffset.UTC)
} catch (e: Exception) {
Instant.ofEpochMilli(Long.MIN_VALUE)
}
} catch (e: Exception) {
Instant.ofEpochMilli(Long.MIN_VALUE)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -15,13 +15,12 @@
plugins {
id 'application'
id 'airbyte-java-connector'
id "de.undercouch.download" version "5.0.1"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lol, what did this do?

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

😂 no clue

}

airbyteJavaConnector {
cdkVersionRequired = '0.2.0'
features = ['db-destinations']
useLocalCdk = false
cdkVersionRequired = '0.33.2'
features = ['db-destinations', 's3-destinations', 'typing-deduping']
useLocalCdk = true
}

//remove once upgrading the CDK version to 0.4.x or later
Expand All @@ -34,27 +33,24 @@ java {
airbyteJavaConnector.addCdkDependencies()

application {
mainClass = 'io.airbyte.integrations.destination.databricks.DatabricksDestination'
applicationDefaultJvmArgs = ['-XX:+ExitOnOutOfMemoryError', '-XX:MaxRAMPercentage=75.0']
mainClass = 'io.airbyte.integrations.destination.databricks.DatabricksDestinationKt'
applicationDefaultJvmArgs = ['-XX:+ExitOnOutOfMemoryError', '-XX:MaxRAMPercentage=75.0',
'-XX:NativeMemoryTracking=detail', '-XX:+UnlockDiagnosticVMOptions',
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

add some comment as to why this is here

'-XX:GCLockerRetryAllocationCount=100', '-XX:+UseZGC', '-XX:+ZGenerational']
}

dependencies {
implementation project(':airbyte-integrations:connectors:destination-s3')
implementation project(':airbyte-integrations:connectors:destination-azure-blob-storage')
implementation group: 'com.databricks', name: 'databricks-jdbc', version: '2.6.25'

// parquet
implementation ('org.apache.hadoop:hadoop-common:3.3.3') {
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
exclude group: 'org.slf4j', module: 'slf4j-reload4j'
}
implementation ('org.apache.hadoop:hadoop-aws:3.3.3') { exclude group: 'org.slf4j', module: 'slf4j-log4j12'}
implementation ('org.apache.hadoop:hadoop-mapreduce-client-core:3.3.3') {
exclude group: 'org.slf4j', module: 'slf4j-log4j12'
exclude group: 'org.slf4j', module: 'slf4j-reload4j'
}
implementation ('org.apache.parquet:parquet-avro:1.12.0') { exclude group: 'org.slf4j', module: 'slf4j-log4j12'}
implementation ('com.github.airbytehq:json-avro-converter:1.1.0') { exclude group: 'ch.qos.logback', module: 'logback-classic'}
// Databricks JDBC driver
implementation 'com.databricks:databricks-jdbc:2.6.36'
implementation 'com.databricks:databricks-sdk-java:0.23.0'

}

implementation 'com.azure:azure-storage-blob:12.18.0'
test {
// Required for Databricks JDBC. There is a pending bug to fix Apache Arrow.
jvmArgs = ["-Dio.netty.tryReflectionSetAccessible=true",
"--add-opens=java.base/java.nio=ALL-UNNAMED",
"--add-opens=jdk.unsupported/sun.misc=ALL-UNNAMED",
"--add-opens=java.base/jdk.internal.misc=ALL-UNNAMED",
"--add-opens=java.base/sun.nio.ch=ALL-UNNAMED"]
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
testExecutionConcurrency=-1
# minimum 3 minutes timeout required during parallel workload on our small warehouse
JunitMethodExecutionTimeout=3 m
Original file line number Diff line number Diff line change
Expand Up @@ -2,11 +2,11 @@ data:
connectorSubtype: database
connectorType: destination
definitionId: 072d5540-f236-4294-ba7c-ade8fd918496
dockerImageTag: 1.1.2
dockerImageTag: 1.1.3
dockerRepository: airbyte/destination-databricks
githubIssueLabel: destination-databricks
icon: databricks.svg
license: MIT
license: ELv2
name: Databricks Lakehouse
registries:
cloud:
Expand All @@ -23,4 +23,5 @@ data:
sl: 100
ql: 100
supportLevel: community
supportsDbt: true
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I don't think we want this? my understanding (80%) is that this triggers platform's custom dbt transform thing, which they recently killed

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

copy-pasta. I'll remove it.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🪓

metadataSpecVersion: "1.0"

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

This file was deleted.

Loading
Loading