在Lakeflow Designer中使用参数

参数 是为整个视觉数据准备定义的命名值。 你可以在SQL和Python代码中引用参数,在支持的操作符配置字段中,以及启用或禁用运算符的表达式中。 参数允许你针对不同的环境运行相同的视觉数据准备,例如,开发期间的测试目录和生产环境中的生产目录。

定义参数

要管理参数,请在左侧窗格中选择“参数”。 每个参数都有一个在定义时设置的值。 当视觉数据准备按计划或作为作业运行时,你可以覆盖该值。 参见 在生产环境中覆盖参数值。

引用一个算符的参数

你如何引用参数取决于你在哪里使用它:

  • SQL 运算符:使用命名参数标记语法,例如 :environment。 请参阅 “使用命名参数标记”。
  • Python运算符:调用dbutils.widgets.get(),例如dbutils.widgets.get("environment")。 请参阅微件工具(dbutils.widgets)。
  • 支持的操作符配置字段:在操作符的配置面板中,选择右上角 的参数 。 选择一个字段并输入表达式,如 :source_table。 支持的字段包括:
    • 来源: 表格、 文件路径和 文件格式。
    • 输出:目录、架构、表、视图、卷、文件名和写入模式。
    • 极限: 极限。
    • 合并: 设置操作, 合并策略, 按名称合并, 允许缺失列。

打开 SQL 或 Python 运算符进行编辑时,Lakeflow Designer 演示了如何引用源编辑器上方的可用参数的示例。

将参数与固定文本结合

在源或输出操作符的参数表达式中,用 :parameter_name 替换整个值。 要将参数与固定文本结合,请用单引号包住文本并使用 ||。 例如,以下源 表 表达式构造了一个完全限定的表名:

:catalog || '.' || :schema || '.' || :table

使用参数启用或禁用运算符

你可以用参数来启用或禁用任何已配置的操作符。 在 参数面板 中,选择 禁用 并输入一个布尔表达式。 例如, :skip_operator 当参数为 true时,使算符失效。 已禁用的操作符不会产生任何输出行。

如需手动启用或禁用操作员,请参见 “重命名、复制、删除和禁用操作员”。

在生产环境中覆盖参数值

运行时,可视化数据准备无论以交互式还是作业形式运行,参数读取方式相同,因此同一个文件在所有环境中都能正常工作,无需更改。 为每种环境提供不同的数值如下:

  • 在 UI 中计划作业时:覆盖每个计划的参数值。 例如,将相同的可视化数据准备计划为每天中午运行,environment 设为 test,并在下午 2 点再次运行一次,将 environment 设为 production。 请参阅计划作为作业。
  • 使用捆绑包进行部署时:通过作业 parameters设置参数值,并使用捆绑包目标为每个环境提供不同的值。 捆绑包开发目标和生产目标可让你将同一作业部署到不同的环境中,并为每个环境使用特定的设置。 请参阅 声明性自动化捆绑包部署模式 和 声明性自动化捆绑包配置。

其他资源