meethngala commented on code in PR #3643:
URL: https://github.com/apache/gobblin/pull/3643#discussion_r1115283314


##########
gobblin-data-management/src/main/java/org/apache/gobblin/data/management/copy/iceberg/IcebergCatalog.java:
##########
@@ -17,10 +17,25 @@
 
 package org.apache.gobblin.data.management.copy.iceberg;
 
+import org.apache.iceberg.catalog.Catalog;
+
 
 /**
  * Any catalog from which to access {@link IcebergTable}s.
  */
 public interface IcebergCatalog {
   IcebergTable openTable(String dbName, String tableName);
+  String getCatalogUri();
+
+  /**
+   * Adding a sub interface to help us provide an association between {@link 
Catalog} and {@link IcebergCatalog}.
+   * This helps us resolve to the Catalog to its concrete implementation class
+   * Primarily needed to access `newTableOps` method which only certain {@link 
Catalog} derived classes open for public access
+   */
+  interface CatalogSpecifier {

Review Comment:
   I agree with using `CatalogUtils.loadCatalog()` method while creating the 
Catalogs based on their impl that's provided as arg and we are also using that 
in the `IcebergCatalogFactory`. We make use of `CatalogUtils` itself for 
loading catalogs based on their impl provided as part of the catalog specifier 
which taken as a config. 
   
   We have `IcebergCatalog` interface to provide us with methods that will 
enable us to work with `IcebergTable` and translate them to gobblin constructs 
for distcp. Regarding, the `IcebergMetadataWriter` yes, we will use 
`CatalogUtils.loadCatalog()` provided by the Iceberg open-source project. 
   
   @ZihanLi58 can you please elaborate on what you do mean by original 
implementation about specifying the IcebergCatalog. Because, originally, it was 
hard-coded to a `HiveCatalog` and to avoid that and provide a pairing between 
the catalogs in gobblin and iceberg world we have this specifier!



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to