首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ZetaSQL -解析功能和功能

ZetaSQL -解析功能和功能
EN

Stack Overflow用户
提问于 2022-08-16 08:42:39
回答 1查看 246关注 0票数 0

我目前正在开发一个将部署在google云空间中的血统系统,目标是使用审计日志提取和解析从BigQuery执行的SQL查询,并从中创建一个谱系。我探索了几个现有的产品,但最终决定自己开发。

我偶然发现了谷歌的POC和文档(https://cloud.google.com/architecture/building-a-bigquery-data-lineage-solution)的数据沿袭,这使我探索了zetaSQL的使用。

我能够解析简单的查询并使用Analyzer.extractTableNamesFromStatement(query)Analyzer.analyzeStatement(query, analyzerOptions, simpleCatalog从其中提取引用的表和输出列。然而,我想知道zetaSQL是否有能力在下面实现这些事情,如果是这样的话,如果您能给我一些例子或路径,那将是非常有帮助的。

ResolvedNodes

  • if中引用的源表是一个派生表,它也可以级联它的谱系解析吗?

此外,我还在探索SimpleCatalog的用法,我想知道。

当引用表已经从查询中可用时,为什么zetaSQL需要表目录的注册?我有一条线索,它在后台做了很多检查,但这些检查是什么?,

  • ,那些注册目录只在运行时可用,然后在作业终止后被删除吗?它是否需要注册在SQL中引用的所有表,还是有某种方式来缓存它?

谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-08-23 05:42:42

我将回答我自己的第一个问题,这似乎取决于节点的类型。例如,如果您试图获取应用在列上的函数的谱系,我们可以使用ResolvedFunctionCall获得应用的转换,然后您可以访问节点ResolvedColumnRef,这使您能够获得该表达式的源列。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73371169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档