This is similar to being unable to sync AWS Glue Data Catalog where you run a spark-submit
with Hudi DeltaStreamer, except you only sync the database (and not the tables).
E.g. you submit:
spark-submit \
--conf spark.hadoop.hive.metastore.client.factory.class=com.amazonaws.glue.catalog.metastore.AWSGlueDataCatalogHiveClientFactory \
--deploy-mode cluster \
--jars /usr/lib/spark/external/lib/spark-avro.jar,/usr/lib/hudi/hudi-spark-bundle.jar,/usr/lib/hudi/hudi-utilities-bundle.jar,/usr/lib/hudi/cli/lib/aws-java-sdk-glue-1.12.397.jar,/usr/lib/hive/auxlib/aws-glue-datacatalog-hive3-client.jar,/usr/lib/hadoop/hadoop-aws.jar,/usr/lib/hadoop/hadoop-aws-3.3.3-amzn-2.jar --conf spark.sql.catalogImplementation=hive \
--conf spark.sql.catalog.spark_catalog=org.apache.spark.sql.hudi.catalog.HoodieCatalog \
--conf spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension \
--class org.apache.hudi.utilities.deltastreamer.HoodieDeltaStreamer /usr/lib/hudi/hudi-utilities-slim-bundle.jar \
--table-type COPY_ON_WRITE \
--source-class org.apache.hudi.utilities.sources.AvroDFSSource \
--source-ordering-field id \
--target-base-path s3a://my-bucket/data/my_database/my_target_table/
--sync-tool-classes org.apache.hudi.aws.sync.AwsGlueCatalogSyncTool \
--props file:///etc/hudi/conf/hudi-defaults.conf \
--target-table my_target_table
--schemaprovider-class org.apache.hudi.utilities.schema.SchemaRegistryProvider \
--enable-sync \
--enable-hive-sync
And you see the database synced in hive, but not the tables:
beeline -u jdbc:hive2://ip-1-1-1-1:10000
Connecting to jdbc:hive2://ip-1-1-1-1:10000
show databases;
+-----------------------------------+
| database_name |
+-----------------------------------+
| my_database |
+-----------------------------------+
show tables;
+----------------------------------------------------+
| tab_name |
+----------------------------------------------------+
| |
+----------------------------------------------------+