[ 
https://issues.apache.org/jira/browse/GOBBLIN-1786?focusedWorklogId=847117&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-847117
 ]

ASF GitHub Bot logged work on GOBBLIN-1786:
-------------------------------------------

                Author: ASF GitHub Bot
            Created on: 23/Feb/23 06:33
            Start Date: 23/Feb/23 06:33
    Worklog Time Spent: 10m 
      Work Description: 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!





Issue Time Tracking
-------------------

    Worklog Id:     (was: 847117)
    Time Spent: 4h 10m  (was: 4h)

> Support Other Catalog Types for Iceberg Distcp
> ----------------------------------------------
>
>                 Key: GOBBLIN-1786
>                 URL: https://issues.apache.org/jira/browse/GOBBLIN-1786
>             Project: Apache Gobblin
>          Issue Type: Improvement
>            Reporter: Meeth Gala
>            Priority: Major
>          Time Spent: 4h 10m
>  Remaining Estimate: 0h
>




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to