【问题标题】:How to retrieve tagged column using Google Data Catalog Java API如何使用 Google Data Catalog Java API 检索标记列
【发布时间】:2020-10-17 06:37:42
【问题描述】:

我能够使用 Java Google 数据目录库搜索标签模板,并在标签名称上进行子搜索以找到使用标签的大查询表,但我不知道如何找到哪些列正在使用标签。下面是一些示例 Java 代码:

TagTemplate template = dataCatalogClient.getTagTemplate(result.getRelativeResourceName());
SearchCatalogRequest innerSearch = SearchCatalogRequest.newBuilder().setScope(scope).setQuery("tag=" + template.getDisplayName()).build();
              SearchCatalogPagedResponse innerResponse = dataCatalogClient.searchCatalog( innerSearch );
for (SearchCatalogResult innerResult : innerResponse.iterateAll()) {
 LookupEntryRequest request = 
 LookupEntryRequest.newBuilder().setLinkedResource(linkedResource).build();               
                                  
  com.google.cloud.datacatalog.v1.Entry entry = dataCatalogClient.lookupEntry(request);
                  Schema schema = entry.getSchema();
                  java.util.List<com.google.cloud.datacatalog.v1.ColumnSchema> columnSchemas = 
   schema.getColumnsList();
}

上面的代码返回所有标签模板以及使用标签的大查询表在哪里,但我不知道如何找到哪些列正在使用标签。提前致谢。

【问题讨论】:

    标签: google-data-catalog


    【解决方案1】:

    我能够自己解决这个问题。要获取列级别的标签,您必须列出表级别的所有标签,并检查是否使用此 Google Data Catalog API 调用分配给列:

                  ListTagsPagedResponse tagsResponse = dataCatalogClient.listTags(entry.getName());
                  for(Tag tag : tagsResponse.iterateAll()) {
                      System.out.println(tag);
                  }
    

    【讨论】:

      猜你喜欢
      • 2021-05-19
      • 1970-01-01
      • 1970-01-01
      • 2021-03-19
      • 2011-08-21
      • 1970-01-01
      • 2017-01-13
      • 2016-03-25
      • 2014-06-30
      相关资源
      最近更新 更多