diff --git a/packaging/hudi-aws-bundle/pom.xml b/packaging/hudi-aws-bundle/pom.xml
new file mode 100644
index 000000000..3cbf4b725
--- /dev/null
+++ b/packaging/hudi-aws-bundle/pom.xml
@@ -0,0 +1,295 @@
+
+
+
+
+
+ hudi
+ org.apache.hudi
+ 0.12.0-SNAPSHOT
+ ../../pom.xml
+
+ 4.0.0
+
+ hudi-aws-bundle
+ jar
+
+
+ true
+ ${project.parent.basedir}
+
+
+
+
+
+ org.apache.rat
+ apache-rat-plugin
+
+
+ org.apache.maven.plugins
+ maven-shade-plugin
+ ${maven-shade-plugin.version}
+
+
+ package
+
+ shade
+
+
+ ${shadeSources}
+ ${project.build.directory}/dependency-reduced-pom.xml
+
+
+
+
+
+ true
+
+
+ META-INF/LICENSE
+ target/classes/META-INF/LICENSE
+
+
+
+
+
+ org.apache.hudi:hudi-common
+ org.apache.hudi:hudi-hadoop-mr
+ org.apache.hudi:hudi-sync-common
+ org.apache.hudi:hudi-hive-sync
+ org.apache.hudi:hudi-aws
+ org.apache.parquet:parquet-avro
+ org.apache.avro:avro
+ com.amazonaws:dynamodb-lock-client
+ com.amazonaws:aws-java-sdk-cloudwatch
+ com.amazonaws:aws-java-sdk-dynamodb
+ com.amazonaws:aws-java-sdk-core
+ com.amazonaws:aws-java-sdk-glue
+ com.beust:jcommander
+ commons-io:commons-io
+ org.apache.hbase:hbase-common
+ org.apache.hbase:hbase-client
+ org.apache.hbase:hbase-hadoop-compat
+ org.apache.hbase:hbase-hadoop2-compat
+ org.apache.hbase:hbase-metrics
+ org.apache.hbase:hbase-metrics-api
+ org.apache.hbase:hbase-protocol-shaded
+ org.apache.hbase:hbase-server
+ org.apache.hbase.thirdparty:hbase-shaded-miscellaneous
+ org.apache.hbase.thirdparty:hbase-shaded-netty
+ org.apache.hbase.thirdparty:hbase-shaded-protobuf
+ org.apache.htrace:htrace-core4
+
+
+
+
+ com.esotericsoftware.kryo.
+ org.apache.hudi.com.esotericsoftware.kryo.
+
+
+ com.esotericsoftware.minlog.
+ org.apache.hudi.com.esotericsoftware.minlog.
+
+
+ com.beust.jcommander.
+ org.apache.hudi.com.beust.jcommander.
+
+
+ org.apache.commons.io.
+ org.apache.hudi.org.apache.commons.io.
+
+
+ org.apache.hadoop.hbase.
+ org.apache.hudi.org.apache.hadoop.hbase.
+
+ org.apache.hadoop.hbase.KeyValue$KeyComparator
+
+
+
+ org.apache.hbase.
+ org.apache.hudi.org.apache.hbase.
+
+
+ org.apache.htrace.
+ org.apache.hudi.org.apache.htrace.
+
+
+ org.objenesis.
+ org.apache.hudi.org.objenesis.
+
+
+ com.amazonaws.
+ org.apache.hudi.com.amazonaws.
+
+
+ org.apache.parquet.avro.
+ org.apache.hudi.org.apache.parquet.avro.
+
+
+ org.apache.avro.
+ org.apache.hudi.org.apache.avro.
+
+
+
+ org.apache.hadoop.metrics2.MetricHistogram
+ org.apache.hudi.org.apache.hadoop.metrics2.MetricHistogram
+
+
+
+ org.apache.hadoop.metrics2.MetricsExecutor
+ org.apache.hudi.org.apache.hadoop.metrics2.MetricsExecutor
+
+
+
+ org.apache.hadoop.metrics2.impl.JmxCacheBuster
+ org.apache.hudi.org.apache.hadoop.metrics2.impl.JmxCacheBuster
+
+
+ org.apache.hadoop.metrics2.lib.DefaultMetricsSystemHelper
+ org.apache.hudi.org.apache.hadoop.metrics2.lib.DefaultMetricsSystemHelper
+
+
+
+ org.apache.hadoop.metrics2.lib.DynamicMetricsRegistry
+ org.apache.hudi.org.apache.hadoop.metrics2.lib.DynamicMetricsRegistry
+
+
+
+ org.apache.hadoop.metrics2.lib.MetricsExecutorImpl
+ org.apache.hudi.org.apache.hadoop.metrics2.lib.MetricsExecutorImpl
+
+
+
+ org.apache.hadoop.metrics2.lib.MutableFastCounter
+ org.apache.hudi.org.apache.hadoop.metrics2.lib.MutableFastCounter
+
+
+
+ org.apache.hadoop.metrics2.lib.MutableHistogram
+ org.apache.hudi.org.apache.hadoop.metrics2.lib.MutableHistogram
+
+
+
+ org.apache.hadoop.metrics2.lib.MutableRangeHistogram
+ org.apache.hudi.org.apache.hadoop.metrics2.lib.MutableRangeHistogram
+
+
+
+ org.apache.hadoop.metrics2.lib.MutableSizeHistogram
+ org.apache.hudi.org.apache.hadoop.metrics2.lib.MutableSizeHistogram
+
+
+
+ org.apache.hadoop.metrics2.lib.MutableTimeHistogram
+ org.apache.hudi.org.apache.hadoop.metrics2.lib.MutableTimeHistogram
+
+
+
+ org.apache.hadoop.metrics2.util.MetricQuantile
+ org.apache.hudi.org.apache.hadoop.metrics2.util.MetricQuantile
+
+
+
+ org.apache.hadoop.metrics2.util.MetricSampleQuantiles
+ org.apache.hudi.org.apache.hadoop.metrics2.util.MetricSampleQuantiles
+
+
+
+ false
+
+
+ *:*
+
+ META-INF/*.SF
+ META-INF/*.DSA
+ META-INF/*.RSA
+ META-INF/services/javax.*
+ **/*.proto
+ hbase-webapps/**
+
+
+
+ ${project.artifactId}-${project.version}
+
+
+
+
+
+
+
+ src/main/resources
+
+
+ src/test/resources
+
+
+
+
+
+
+
+ org.apache.hudi
+ hudi-common
+ ${project.version}
+
+
+
+ org.apache.hadoop
+ *
+
+
+
+
+ org.apache.hudi
+ hudi-hive-sync
+ ${project.version}
+
+
+ javax.servlet
+ servlet-api
+
+
+
+
+ org.apache.hudi
+ hudi-aws
+ ${project.version}
+
+
+
+ org.apache.parquet
+ parquet-avro
+ ${parquet.version}
+ compile
+
+
+ org.apache.avro
+ avro
+ ${avro.version}
+ compile
+
+
+
diff --git a/packaging/hudi-aws-bundle/src/main/java/org/apache/hudi/aws/bundle/Main.java b/packaging/hudi-aws-bundle/src/main/java/org/apache/hudi/aws/bundle/Main.java
new file mode 100644
index 000000000..b5b167e30
--- /dev/null
+++ b/packaging/hudi-aws-bundle/src/main/java/org/apache/hudi/aws/bundle/Main.java
@@ -0,0 +1,29 @@
+/*
+ * Licensed to the Apache Software Foundation (ASF) under one
+ * or more contributor license agreements. See the NOTICE file
+ * distributed with this work for additional information
+ * regarding copyright ownership. The ASF licenses this file
+ * to you under the Apache License, Version 2.0 (the
+ * "License"); you may not use this file except in compliance
+ * with the License. You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing,
+ * software distributed under the License is distributed on an
+ * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+ * KIND, either express or implied. See the License for the
+ * specific language governing permissions and limitations
+ * under the License.
+ */
+
+package org.apache.hudi.aws.bundle;
+
+import org.apache.hudi.common.util.ReflectionUtils;
+
+public class Main {
+
+ public static void main(String[] args) {
+ ReflectionUtils.getTopLevelClassesInClasspath(Main.class).forEach(System.out::println);
+ }
+}
diff --git a/packaging/hudi-integ-test-bundle/pom.xml b/packaging/hudi-integ-test-bundle/pom.xml
index ad435967a..3181ceefe 100644
--- a/packaging/hudi-integ-test-bundle/pom.xml
+++ b/packaging/hudi-integ-test-bundle/pom.xml
@@ -83,7 +83,6 @@
org.apache.hudi:hudi-sync-common
org.apache.hudi:hudi-hadoop-mr
org.apache.hudi:hudi-timeline-service
- org.apache.hudi:hudi-aws
org.apache.hudi:hudi-integ-test
org.apache.hbase:hbase-common
diff --git a/packaging/hudi-spark-bundle/pom.xml b/packaging/hudi-spark-bundle/pom.xml
index d6a5eb692..8b5514782 100644
--- a/packaging/hudi-spark-bundle/pom.xml
+++ b/packaging/hudi-spark-bundle/pom.xml
@@ -79,7 +79,6 @@
org.apache.hudi:hudi-sync-common
org.apache.hudi:hudi-hadoop-mr
org.apache.hudi:hudi-timeline-service
- org.apache.hudi:hudi-aws
javax.servlet:javax.servlet-api
com.beust:jcommander
diff --git a/packaging/hudi-utilities-bundle/pom.xml b/packaging/hudi-utilities-bundle/pom.xml
index a18808678..209a06514 100644
--- a/packaging/hudi-utilities-bundle/pom.xml
+++ b/packaging/hudi-utilities-bundle/pom.xml
@@ -102,7 +102,6 @@
org.apache.hudi:hudi-sync-common
org.apache.hudi:hudi-hadoop-mr
org.apache.hudi:hudi-timeline-service
- org.apache.hudi:hudi-aws
com.yammer.metrics:metrics-core
com.beust:jcommander
diff --git a/packaging/hudi-utilities-slim-bundle/pom.xml b/packaging/hudi-utilities-slim-bundle/pom.xml
index 993e2ad7f..1a6f6f106 100644
--- a/packaging/hudi-utilities-slim-bundle/pom.xml
+++ b/packaging/hudi-utilities-slim-bundle/pom.xml
@@ -95,7 +95,6 @@
org.apache.hudi:hudi-utilities_${scala.binary.version}
org.apache.hudi:hudi-hadoop-mr
org.apache.hudi:hudi-timeline-service
- org.apache.hudi:hudi-aws
com.yammer.metrics:metrics-core
com.beust:jcommander
diff --git a/pom.xml b/pom.xml
index 1188ec620..c079c70bf 100644
--- a/pom.xml
+++ b/pom.xml
@@ -48,6 +48,7 @@
packaging/hudi-hadoop-mr-bundle
packaging/hudi-datahub-sync-bundle
packaging/hudi-hive-sync-bundle
+ packaging/hudi-aws-bundle
packaging/hudi-gcp-bundle
packaging/hudi-spark-bundle
packaging/hudi-presto-bundle