【发布时间】:2020-01-08 08:48:37
【问题描述】:
我们正在 BigQuery 中构建一个数据仓库,我们在其中使用标准 sql 语句生成大量数据集市。这些可能非常大和复杂。为了跨依赖链跟踪数据沿袭,我们希望自动解析 SQL 语句并获取与输入 table.column 匹配的所有输出列。
简单示例:
SELECT t1.a, t2.b, t1.a + t2.b AS c
FROM table1 t1 JOIN table2 t2 ON t1.a = t2.a
应该最终给我们:
Input Output
table1.a a
table2.b b
table1.a c
table1.b c
我们尝试过使用这个:https://www.npmjs.com/package/node-sql-parser,但在我们的一些复杂场景中它会出现不足。
是否有任何语言的库支持解析 SQL 语句并返回 AST 以获得完整的标准 SQL 语法?
【问题讨论】:
标签: google-bigquery abstract-syntax-tree sql-parser