用途:审计 LookML 文件中的 Snowflake 专有 SQL 语法,并依据内置的语法迁移参考指南,给出对应的 BigQuery 标准 SQL 等价写法,借助 looker-cli 完成。触发场景是用户希望把 LookML 项目或文件从 Snowflake 转换到 BigQuery 标准 SQL。
主要能力:在获取代码前先做预检,确认 looker-cli 已安装并认证;确认 Looker 实例 URL、项目名、目标分支,以及检查整个项目还是单个 LookML 文件。通过 looker-cli 将工作区切到 dev、查看分支、检出目标分支并列出/读取项目文件。对 sql、sql_table_name、derived_table、sql_on、sql_always_where、sql_where、sql_trigger_value 等字段扫描 Snowflake 特有构造(如 IFF、NVL、ZEROIFNULL、DIV0、DECODE、DATEADD、DATEDIFF、SPLIT_PART、LEN、CHARINDEX、ILIKE、:: 类型转换、: 半结构化路径、LATERAL FLATTEN、双引号列标识等),对 BigQuery 已原生支持的语法(如 QUALIFY、COALESCE)不做多余转换。最后生成报告,含摘要、逐文件状态表,以及按文件列出的转换点、前后对比代码,并附精确文件路径与行号,以及指向 Looker IDE 的直接链接。报告直接在对话或控制台中输出,不保存为文件或 artifact。
使用方式:需安装并认证 looker-cli,可用 looker-cli --help 验证安装、用 looker-cli user me 验证认证。OAuth 方式需在 Looker 管理后台开启 Looker CLI 连接器,并执行 looker-cli profile add default --host <your-looker-host> --port 443、looker-cli profile use default、looker-cli session login --oauth;API Key 方式为 looker-cli profile add default --host <your-looker-host> --port 443 --client-id <CLIENT_ID> --client-secret <CLIENT_SECRET> 后执行 looker-cli profile use default。随后用 looker-cli session update dev、looker-cli project branch <project_id> --all、looker-cli project checkout <project_id> <branch_name>、looker-cli project file ls <project_id>、looker-cli project file cat <project_id> <file_path> 获取内容。
限制:不创建分支;分支不存在、检出冲突、未认证或未安装 CLI 时立即停止并提示。缺少实例 URL、项目名或分支名时必须先向用户询问。关于定价、平台范围与效果等事实,资料暂未提供。