dbt 0.18.1(Spark适配器)中{{ flags.WHICH }}变量无输出求助
解决dbt 0.18.1中
flags.WHICH无输出的问题 首先确认
flags.WHICH的使用上下文:这个变量仅能在模型、宏等运行时渲染的文件中使用,不能直接在dbt_project.yml这类配置文件里调用,否则会无输出。若上下文正确仍无输出,可能是Spark适配器在0.18.1版本中对
flags对象的支持存在局限,可以用以下替代方案:
使用invocation_command变量获取完整的命令字符串,通过字符串匹配判断当前执行的命令类型,示例代码:{% if 'run' in invocation_command %} -- 处理run命令的逻辑 {% elif 'test' in invocation_command %} -- 处理test命令的逻辑 {% elif 'generate' in invocation_command %} -- 处理generate命令的逻辑 {% endif %}额外提示:dbt 0.18.1是较旧的版本,后续版本对
flags对象的支持更完善,如果业务允许,升级到更高版本(如1.x系列)可以更好地解决这类兼容性问题。
内容的提问来源于stack exchange,提问作者Bruno Siqueira
相关产品推荐
相关产品推荐

