什么是数据目录?
数据目录是谷歌云的数据分析中一个完全管理的、可扩展的元数据管理服务。
数据目录的搜索范围
在数据目录中,搜索范围取决于用户,即搜索结果对于具有不同权限的用户可能是不同的。
例如,如果一个用户对一个对象有BigQuery元数据读取权限。该对象将出现在他们的数据目录搜索结果中。要搜索一个表,你需要 bigquery.tables.get 对该表的权限。要搜索一个数据集,你需要bigquery.tables.get对该数据集的权限。
日期屏蔽的 表
数据目录将日期屏蔽的表聚合成一个单一的逻辑条目。这个条目与具有最新日期的表分片具有相同的模式,并包含关于分片总数的聚合信息。该条目的访问级别来自它所属的数据集。
如何搜索数据资产
在这个方法中,只需提供projectId和查询。
对于我们的例子,查询将是=>
String query = "tag:RandomTag"。
如何在Java中通过标签搜索数据资产
- 在这个方法中,首先,我们通过提供projectId来设置范围,projectId可以是一个或多个,根据搜索的要求。
- 接下来,我们将初始化DataCatalogClient,我们将使用它来向DataCatalog发送请求。这个客户端只需要创建一次,并且可以为多个请求重复使用。
- 之后,我们将通过提供查询和其生成器方法的范围来创建SearchCatalogRequest对象。
- 现在我们将使用SearchCatalogRequest对象通过使用DataCatalogClient方法searchCatalog并提供参数SearchCatalogRequest在数据目录中搜索,然后将结果存储在SearchCatalogPagedResponse类变量中。
- 现在我们将迭代响应并获取被RandomTag标记的表的列名**。**
- 对于使用搜索结果,首先我们必须在表中移动,为此我们将使用LookupEntryRequest。
- 为了建立LookupEntryRequest,我们必须向它提供我们想进入的表的地址,我们从getLinkedResource()方法中得到地址。
- 现在我们只需通过lookupEntry方法制作Entry对象。
- 一旦Entry对象被制作出来,我们就可以完全访问DataCatalog的列,所以现在我们只需要找到与之相关的标记的列。
- 为此,DataCatalogClient有一个内置的方法listTags,我们将提供 entry.getName() 参数,这意味着表的列名。
- 我们将得到ListTagsPagedResponse的对象,其中我们有表的标签列的列名。
- 最后,我们将遍历该列表并打印各列。
- 这里的标签列名是在行中
- String location =tag.getColumn() .