Skip to content

Commit e39d411

Browse files
istreeteroguzhanunlu
authored andcommitted
DynamoDB runtime dependencies for Delta S3 multi-writer
Delta has a "S3 multi-cluster" mode, which allows safe cocurrent writes by multiple loaders. To enable this mode, users can set the spark options documented by Delta: - `spark.delta.logStore.s3.impl=io.delta.storage.S3DynamoDBLogStore` - `spark.io.delta.storage.S3DynamoDBLogStore.ddb.tableName=???` - `spark.io.delta.storage.S3DynamoDBLogStore.ddb.region=???` - (and some others) This commit adds the necessary runtime dependencies for this mode.
1 parent 159afd6 commit e39d411

File tree

1 file changed

+13
-9
lines changed

1 file changed

+13
-9
lines changed

project/Dependencies.scala

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -79,14 +79,15 @@ object Dependencies {
7979
}
8080

8181
// spark and hadoop
82-
val delta = "io.delta" %% "delta-spark" % V.delta
83-
val hudi = "org.apache.hudi" %% s"hudi-spark${V.Spark.forHudiMinor}-bundle" % V.hudi
84-
val iceberg = "org.apache.iceberg" %% s"iceberg-spark-runtime-${V.Spark.forIcebergDeltaMinor}" % V.iceberg
85-
val hadoopClient = "org.apache.hadoop" % "hadoop-client-runtime" % V.hadoop
86-
val hadoopAzure = "org.apache.hadoop" % "hadoop-azure" % V.hadoop
87-
val hadoopAws = "org.apache.hadoop" % "hadoop-aws" % V.hadoop
88-
val gcsConnector = "com.google.cloud.bigdataoss" % "gcs-connector" % V.gcsConnector
89-
val hiveCommon = "org.apache.hive" % "hive-common" % V.hive
82+
val delta = "io.delta" %% "delta-spark" % V.delta
83+
val deltaDynamodb = "io.delta" % "delta-storage-s3-dynamodb" % V.delta
84+
val hudi = "org.apache.hudi" %% s"hudi-spark${V.Spark.forHudiMinor}-bundle" % V.hudi
85+
val iceberg = "org.apache.iceberg" %% s"iceberg-spark-runtime-${V.Spark.forIcebergDeltaMinor}" % V.iceberg
86+
val hadoopClient = "org.apache.hadoop" % "hadoop-client-runtime" % V.hadoop
87+
val hadoopAzure = "org.apache.hadoop" % "hadoop-azure" % V.hadoop
88+
val hadoopAws = "org.apache.hadoop" % "hadoop-aws" % V.hadoop
89+
val gcsConnector = "com.google.cloud.bigdataoss" % "gcs-connector" % V.gcsConnector
90+
val hiveCommon = "org.apache.hive" % "hive-common" % V.hive
9091

9192
val hudiAws = ("org.apache.hudi" % "hudi-aws" % V.hudiAws).excludeAll(ExclusionRule(organization = "org.apache.hudi"))
9293

@@ -98,6 +99,7 @@ object Dependencies {
9899
val awsS3 = "software.amazon.awssdk" % "s3" % V.awsSdk2
99100
val awsS3Transfer = "software.amazon.awssdk" % "s3-transfer-manager" % V.awsSdk2
100101
val awsSts = "software.amazon.awssdk" % "sts" % V.awsSdk2
102+
val dynamodbSdk1 = "com.amazonaws" % "aws-java-sdk-dynamodb" % V.awsSdk1
101103
val awsRegistry = "software.amazon.glue" % "schema-registry-serde" % V.awsRegistry
102104

103105
// transitive overrides
@@ -162,8 +164,10 @@ object Dependencies {
162164
awsCore, // Dependency on aws sdk v1 will likely be removed in the next release of hadoop-aws
163165
awsS3,
164166
awsGlue,
167+
awsSts,
165168
awsS3Transfer % Runtime,
166-
awsSts
169+
deltaDynamodb % Runtime,
170+
dynamodbSdk1 % Runtime
167171
) ++ commonRuntimeDependencies
168172

169173
val azureDependencies = Seq(

0 commit comments

Comments
 (0)