我正在我的 pyspark SQL 中执行合并或查询语句,并且笔记本在手动运行时完美执行,但如果我在 databricks 工作流程中安排管道,则会出现以下错误。请帮助我提供您的反馈。
dbutils.widgets.text("catalogname","test")
unity_catalog_name = dbutils.widgets.get("catalogname")
%sql
select * $catalogname.schema.tablename
当我在计划管道中执行时出现如下错误
[PARSE_SYNTAX_ERROR] Syntax error at or near '.'. SQLSTATE: 42601
您必须使用 SQL
子句将字符串解析为对象标识符,例如数据库、表、视图、函数、列和字段的名称。IDENTIFIER()
因此,根据上面的带有
IDENTIFIER()
子句的新查询将如下所示:
%sql
select * from IDENTIFIER(:catalogname || '.schema.tablename' )
我对计划触发器的执行如下,您可以在其中看到计划触发器启动的管道:
注意:我收到的错误是因为我的数据块中没有这样的表