Lakeflow Designer 中的内置运算符

Lakeflow Designer 包括用于常见数据准备和转换任务的内置运算符。 在左侧窗格中打开运算符菜单,按类别浏览运算符,或使用窗格顶部的 “搜索”运算符... 。 运算符搜索根据意向建议运算符。 例如,键入 average by month 将返回 Aggregate 运算符。 若要在将运算符添加到画布后对其进行配置,请双击该运算符,或将其悬停在画布上,然后单击 铅笔图标。编辑运算符)以打开配置窗格。

LFD 运算符菜单,其中显示了按类别分组的运算符搜索框和运算符。

每个运算符都显示 AI 生成的说明,说明它的作用。 说明还充当运算符的编辑器:编辑说明将重新配置运算符以匹配说明。

若要了解如何创建自己的用户定义的运算符,请参阅 Lakeflow Designer 中的用户定义的运算符

源和输出

Source

将数据从 Unity 目录表或其他受支持的源导入设计器。 若要选择源,请按名称搜索表或文件,或按目录和架构浏览。 还可以从此窗格中创建新表。

选择表后,窗格会显示表的名称、所有者和上次更新时间。 单击 “选择新数据源 ”以更改源。 更改源会使所有下游运算符的输出缓存失效。

还可以将 Unity 目录指标视图用作源。 选择指标视图时,选择要包含的维度和度量值,设计器会为你生成聚合查询。

有关整个数据引入选项(包括面向整个 Unity 目录卷或文件夹)的信息,请参阅 将数据引入 Lakeflow 设计器

输入数据

通过将值键入电子表格样式编辑器来创建表。 使用此运算符可以添加少量引用数据,例如查找值或测试数据,而无需创建单独的源表。

字段 DESCRIPTION
表数据 以表的形式输入数据。 第一行定义列标题,其余行是数据。 设计器从其值推断每个列的数据类型。

输出

将数据从设计器导出。 输出运算符可以将结果写入 Unity 目录表,将其发布为具体化视图,或将它们写入 Unity 目录卷中的文件。 选择输出 类型的目标。

输出类型 DESCRIPTION
Table 将结果写入托管 Unity 目录表。 设置表名称和输出位置(目录和架构),然后选择写入模式
具体化视图 在 Unity 目录中将结果发布为具体化视图,以便在视觉数据准备运行时刷新。
文件 将结果写入 Unity 目录卷中的文件。 选择 CSV、Excel 或 JSON 的文件类型,然后设置目标卷和文件名。

对于 文件 输出,请选择每个运行写入到目标的 写入模式的方式:

写入模式 DESCRIPTION
覆盖 将现有内容替换为当前运行的结果。 这是默认值。
Append 将当前运行的结果添加到现有行。
Merge 通过匹配指定的合并键将行向上插入目标表中。 可用于表输出。

单击“ 运行” 以运行视觉对象数据准备并写入结果。 对于表输出,如果该表不存在,则运算符会创建它。 计划的运行使用同一写入模式写入目标。

AI 函数

对数据运行内置 AI 操作。 在配置窗格中,打开 “选择函数 ”,然后选择下表中的其中一个函数。 每个函数在窗格中公开输入(例如列、提示、标签或语言)和输出的选项。

函数 DESCRIPTION
ai_forecast 将时序数据预测到指定的地平线。 ai_forecast 是处理整个输入表的表值函数。

Transformations

以下运算符对数据执行转换。

Aggregate

通过对数据和计算聚合值进行分组来汇总行。

字段 DESCRIPTION
聚合依据 选择列,选择聚合函数,并提供输出列的名称。 单击“ + 添加聚合” 以添加更多内容。 支持的函数:AVG、、COUNTMAXMEANMEDIANMINPERCENTILESTDDEVSUMVARIANCE
分组依据 选择要分组依据的列。 单击“ + 添加分组” 以添加更多内容。 分组依据中使用的列将自动包含在输出中。

结合

将多个表中的数据与匹配的架构合并到单个输出中。

字段 DESCRIPTION
Set作 选择 “联合”、“ 交错”或 “除外”。
合并策略 选择 “非重复 ”可排除输出中的重复行,或 “全部 ”保留所有行,包括重复行。

Filter

使用图形条件生成器根据行是否满足一个或多个条件拆分行。

字段 DESCRIPTION
条件 对于每个条件,请选择 一个列、一个 条件类型和一个要有条件匹配 的值 。 支持的条件类型:
  • 等于/不等于
  • 是/不是其中之一
  • 包含/不包含
  • 开头/不以
  • 结尾 /不以结尾
  • 大于/小于
  • 为 null/不为 null

对于日期列的条件,日期选取器支持跨年和月导航。

Filter 运算符有两个输出,因此可以根据数据是否符合条件对数据进行分支:

输出 DESCRIPTION
包括 满足筛选条件的行。
排除 不符合筛选条件的行,包括条件计算结果为 null 的行。

加入

通过基于匹配列值组合两个输入数据集,链接键上的两个表。

字段 DESCRIPTION
输入表 选择要联接的两个输入表。
联接条件 通过从两个表中选择匹配的列来指定至少一个联接条件。 单击“ + 添加联接”表达式 以添加更多条件。 可选:单击左右表之间的箭头以添加自定义联接条件,然后编辑 AI 生成的说明或编写 SQL。
匹配大小写 关闭时(默认值),字符串联接键不区分大小写(并忽略前导空格和尾随空格)。 打开 Match case 以完全匹配字符串键。 此选项适用于联接键,不适用于自定义联接条件。
联接类型 选择联接类型。 默认情况下,Join 运算符将其结果拆分为三个输出(请参阅以下部分)。 选择 “完全联接”、“ 内部联接”、“ 左联接”或 “右联接 ”以生成单个联接输出。
输出列 可选:选择要包含的列。 默认情况下,包括这两个表中的所有列。 重复的列名接收表名称前缀。
自定义表达式列 可选:基于联接的结果添加自定义表达式列。

默认情况下,Join 运算符有三个输出,因此可以根据联接结果对工作流进行分支:

输出 DESCRIPTION
左不匹配 左侧输入中没有匹配项的行。
已匹配 在两个输入中匹配的行。
右不匹配 左侧输入中没有匹配项的右侧输入中的行。

选择特定的 联接类型 (完整、内部、左或右),运算符将生成单个联接输出,而不是三个拆分输出。

Limit

通过仅传递至指定的最大行数来限制行计数。

字段 DESCRIPTION
最大行数 指定要传递的最大行数。

透视

以两个方向重塑表格数据。 使用配置窗格顶部的选项卡选择模式。

列→行(透视表)

将一列中的非重复值转换为新的列标题,其中填充了另一列的聚合值。

字段 DESCRIPTION
透视列 选择其非重复值成为新标头的列。
值和聚合 选择其值填充透视单元格的列,然后选择聚合函数(例如,SUM、、AVGCOUNTMINMAX)。 配置在窗格中处理缺失值的方式(例如 null 或零)。

列→行(逆透视)

将一个或多个列折叠成行。

字段 DESCRIPTION
对列进行逆透视 选择要取消透视的列。
键列和值列 设置输出键列和值列的名称。

包括列

对于任一模式,请选择哪些列与透视值或取消透视值一起保留在输出中,并删除转换前不需要的列。 设计器从不分配给透视、值或非透视角色的列中推断固定的(分组)列。

排序

对一个或多个列的行进行排序。

字段 DESCRIPTION
排序顺序 为每个列选择 ASC (升序) 或 DESC (降序)。 单击“ + 添加排序表达式 ”以按其他列进行排序。 排序遵循标准词法顺序。

SQL

为其他运算符未涵盖的任何转换编写自定义 SQL 代码。

字段 DESCRIPTION
SQL 编辑器 键入 SQL SELECT 语句。 若要引用输入运算符的输出,请使用该运算符的名称作为查询中的表名。 例如:
SELECT COUNT(*)
FROM aggregate_2
WHERE 1 = 1
单击 “代码”图标。 按钮可打开完整的 SQL 代码窗格,并查看语句如何适应完整的工作流。
Parameters 若要引用视觉数据准备参数,请使用命名参数标记语法,例如 :environment。 设计器显示打开运算符进行编辑时编辑器上方的示例。 请参阅参数

Select

从输入数据中选择、重命名和重新排序列。

字段 DESCRIPTION
包括或排除列 选择 “以所有列开头 ”或 “以无列开头”,然后使用复选框包括或排除单个列。 拖动列以对列重新排序。
重命名列 在任何列旁边的 “重命名 ”字段中键入新名称。

准备

通过对输入数据链接一个或多个操作来清理和派生列。 单击“ + 添加操作 ”并选择一个操作。 根据需要添加任意数量的操作。 它们按顺序应用。

Action DESCRIPTION
公式 使用自然语言或 SQL 表达式创建新列或覆盖现有列。
更改类型 将列转换为另一种数据类型。
替换值 查找和替换列中的值。
填充 null 将 null 值替换为常量。
文本大小写 将大小写更改为小写、大写或标题。
Trim 从一端或两端删除空格。
正则表达式替换 替换与正则表达式模式匹配的文本。
提取 提取与正则表达式组匹配的子字符串。
分析日期 将字符串分析为日期或时间戳。

若要删除操作,请将鼠标悬停在其行上,然后单击“短划线”图标。

自定义列

公式” 操作将打开表达式编辑器,可在其中使用自然语言或 SQL 代码创建新列或覆盖现有列。 编辑器有两个输入框,双向:

  • 说明:键入希望列执行的操作的自然语言说明。 设计器使用 Genie 生成下面的相应代码表达式。
  • 表达式:如果希望直接编写或编辑代码,请单击“编辑表达式”按钮。 编辑表达式会自动生成自然语言说明。

Python

对输入数据运行自定义Python(PySpark)。

字段 DESCRIPTION
result 将单个 DataFrame 分配给该帧,该帧 result将成为操作员的输出。
inputs["data"] 按上游顺序排列的输入数据帧列表。 运算符详细信息窗格按顺序显示每个输入的名称。 例如,Available inputs: inputs["data"][0] (customers), inputs["data"][1] (sales)
Parameters 调用 dbutils.widgets.get(),例如 dbutils.widgets.get("environment"),引用视觉对象数据准备参数。 设计器显示打开运算符进行编辑时编辑器上方的示例。 请参阅参数

最小模式是在存在时使用第一个输入,否则为空 DataFrame:

# inputs["data"] is a list of input DataFrames

result = inputs["data"][0] if inputs["data"] else spark.createDataFrame([], "col: string")

在此处,可以在工作分配结束之前将 DataFrame 操作(例如, selectfilterwithColumn联接) result 链接在一起,或者替换为 result 从中 inputs["data"]生成的新 DataFrame。

组织

注意事项

在画布上添加注释,以便你可以记录工作流本身:其用途、假设、注意事项或交接上下文,供以后打开视觉数据准备的人员使用。

字段 DESCRIPTION
内容 使用富文本编辑器在画布上内联编辑笔记内容。 可以添加标题、文本样式、链接、图像和表格,其中纯文本不够。 注释不会影响数据流经运算符的方式。

在画布上直观地对运算符进行分组,而不会更改数据之间的流动方式,当视觉数据准备增大或想要反映逻辑阶段时,这非常有用。

字段 DESCRIPTION
添加到组 将一个或多个运算符拖到组上以将其添加到组。
从所选内容创建 选择一个或多个运算符,打开快捷菜单(右键单击),然后选择“ 创建新组 ”以在新组中包装所选内容。
Name 为组指定描述性名称。
最小化/展开 单击 “最小化 ”或 “展开 ”可显示或隐藏画布上的组内容。

Visualization

从输入数据创建可视化效果,并将其直接呈现在画布上。 将可视化效果运算符连接到生成表格数据的任何运算符,以绘制结果图表,而无需离开设计器。

若要配置可视化效果,请打开运算符并选择 可视化 效果类型,然后将列映射到图表。

字段 DESCRIPTION
Visualization 要呈现的图表类型,如 条形图区域计数器

其他资源