This shrinks the size of the assembly while also improving compatibility with EMR. When there are conflicts, Glue Catalog can't be used. When the AWS JARs are excluded, it works just fine (with provided versions of these libraries).
assemblyExcludedJars in assembly := {
val cp = (fullClasspath in assembly).value
cp filter { f =>
f.data.getName.contains("aws-java-sdk")
}
}
geotrellis-s3 (as gtS3) includes an exclude() in its dependencies; that may be able to go away using this approach.
(This should be applied to each of the projects here and probably ported to VP as well.)
This shrinks the size of the assembly while also improving compatibility with EMR. When there are conflicts, Glue Catalog can't be used. When the AWS JARs are excluded, it works just fine (with provided versions of these libraries).
geotrellis-s3
(asgtS3
) includes anexclude()
in its dependencies; that may be able to go away using this approach.(This should be applied to each of the projects here and probably ported to VP as well.)