【发布时间】:2022-08-23 13:42:42
【问题描述】:
我目前正在开发一个将部署在我们的 google-cloud 空间中的沿袭系统,目标是使用审计日志提取和解析从 BigQuery 执行的 SQL 查询,并从中创建一个沿袭。我探索了几个现有的产品,但最终决定建立自己的产品。
我遇到了 Google 的 POC 和文档 (https://cloud.google.com/architecture/building-a-bigquery-data-lineage-solution) 的数据沿袭,这让我探索了 zetaSQL 的用法。
我能够使用Analyzer.extractTableNamesFromStatement(query) 和Analyzer.analyzeStatement(query, analyzerOptions, simpleCatalog 解析简单查询并从中提取引用的表和输出列。但是,我想知道 zetaSQL 是否能够实现以下这些事情,如果可以,如果您能给我一些示例或路径,那将非常有帮助。
- 从
ResolvedNodes获取源列? - 如果SQL中引用的源表是派生表,是否也可以级联其lineage解析?
另外,我也在探索SimpleCatalog的用法和
我想知道。
- 为什么在 SQL 查询中已经可以使用参考表时,zetaSQL 需要注册表目录?我有点知道它在后台做了很多检查,但这些检查是什么?
- 那些已注册的目录是否仅在运行时可用,然后在作业终止后消失?它是否需要注册 SQL 中引用的所有表,或者有没有办法以某种方式缓存它?
谢谢你。
-
你的问题昨天结束了。不要转发相同的问题。编辑现有问题以符合准则。 stackoverflow.com/questions/73356720/…
-
为了帮助您提出好的问题,请阅读本指南:stackoverflow.com/help/how-to-ask 我也建议您提问一定义明确的问题,具有清晰的问题描述。出于这个原因,您的原始问题已关闭(需要更加集中)。
-
你的假设是错误的。我们中的一些人拥有数十年的数据库经验。您的问题不符合问题要求。阅读链接和我提供的建议。否则,您的问题将再次关闭。
标签: parsing google-cloud-platform google-bigquery apache-beam data-lineage