Important
此功能目前以公共预览版提供。
Lakeflow Designer 包括用于常见数据准备和转换任务的内置运算符。 在左侧面板中打开运算符菜单,按类别浏览运算符,或使用面板顶部的 “搜索”运算符... 。 若要在将其添加到画布后打开操作员的配置窗格,请双击它或按住指针,然后单击 (编辑运算符)。
源和输出
Source
将数据导入设计器。 Source 运算符从 Unity 目录表或其他受支持的源读取。 它有两个阶段:
- 选择表或文件:按名称搜索表或文件,或按目录和架构浏览。 还可以从此窗格中创建新表。
- 表摘要:选择表后,配置窗格会显示表的名称、所有者和上次更新时间。 单击 “选择新数据源 ”以更改源。 更改源会使所有下游运算符的输出缓存失效。
有关整个数据引入选项,请参阅 将数据引入 Lakeflow 设计器。
输出
通过将结果写入 Unity 目录中的表,将数据从设计器导出。
在“输出配置”窗格中,指定:
- 表名:要创建的表的名称。
- 输出位置:在其中创建表的目录和架构。
单击“ 运行” 以运行视觉对象数据准备并写入结果。
AI 函数
对数据运行内置 AI 操作。 在配置窗格中,打开 “选择函数 ”,然后选择以下函数之一。 每个函数在窗格中公开输入(例如列、提示、标签或语言)和输出的选项。
| 函数 | DESCRIPTION |
|---|---|
ai_analyze_sentiment |
对输入文本执行情绪分析。 |
ai_classify |
使用提供的标签对文本或分析的文档进行分类。 |
ai_extract |
使用定义的字段从文本或分析的文档中提取结构化数据。 |
ai_fix_grammar |
更正文本中的语法错误。 |
ai_gen |
针对输入回答用户提供的提示。 |
ai_mask |
屏蔽文本中的指定实体(例如,用于取消标识)。 |
ai_similarity |
比较两个字符串并返回语义相似性分数。 |
ai_summarize |
生成文本摘要。 |
ai_translate |
将文本翻译为指定的目标语言。 |
Transformations
以下运算符对数据执行转换。
Aggregate
通过对数据和计算聚合值进行分组来汇总行。
- 聚合依据:选择列,选择聚合函数,并为输出列提供名称。 单击“ + 添加聚合” 以添加更多内容。
- 分组依据:选择要分组依据的列。 单击“ + 添加分组” 以添加更多内容。
支持的聚合函数:AVG、COUNT、MAX、MEAN、MEDIAN、MIN、PERCENTILE、STDDEV、SUM、VARIANCE。
注意事项
分组依据中使用的列将自动包含在输出中。
结合
将两个表中的数据与匹配的架构合并到单个输出中。
- 设置操作:选择 “联合”、“ 相交”或 “除外”。
- 合并策略:选择 “非重复 ”可从输出中排除重复行,或 “全部 ”保留所有行,包括重复行。
Filter
通过使用图形条件生成器,仅保留满足一个或多个条件的行来选择匹配的行。 对于每个条件,请选择 一个列、一个 条件类型和一个要有条件匹配 的值 。
支持的条件类型:
- 等于/不等于
- 是/不是其中之一
- 包含/不包含
- 开头/不以
- 结尾 /不以结尾
- 大于/小于
- 为 null/不为 null
加入
通过基于匹配列值组合两个输入数据集,链接键上的两个表。
配置 Join:
- 选择要联接的两个输入表。
- 通过从两个表中选择匹配的列来指定至少一个联接条件。 单击“ + 添加联接”表达式 以添加更多条件。
- 选择联接类型: “完全联接”、“ 内部联接”、“ 左联接”或 “右联接”。
- 可选:选择要包含在输出中的列。 默认情况下,包括这两个表中的所有列。 重复的列名接收表名称前缀。
- 可选:基于联接的结果添加自定义表达式列。
Limit
通过仅传递至指定的最大行数来限制行计数。
透视
以两个方向重塑表格数据。 使用配置窗格顶部的选项卡选择模式:
- 行→列 (透视):将一列中的非重复值转换为新的列标题,并使用另一列中的聚合值填充这些列。
- 列→行 (逆透视):将一个或多个列折叠成行;设置输出键列和值列的名称。
在 “行”→“列 ”模式下:
- 透视列:选择其非重复值成为新标题的列。
- 值和聚合:选择其值填充透视单元格的列,然后选择聚合函数(例如 SUM、AVG、COUNT、MIN 或 MAX)。 配置在窗格中处理缺失值的方式(例如 null 或零)。
在 “列→行 ”模式下,选择要取消透视的列,并配置输出键和值列名称。
包括列:使用表选择哪些列与透视值或未指示的值一起保留在输出中(以及删除转换之前不需要的列)。 设计器从不分配给透视、值或逆透视角色的列中推断固定的(分组)列。
排序
对一个或多个列的行进行排序。 对于每个列,请选择 ASC (升序)或 DESC (降序)。 单击“ + 添加排序表达式 ”以按其他列进行排序。 排序遵循标准词法顺序。
SQL
为其他运算符未涵盖的任何转换编写自定义 SQL 代码。
在编辑器中键入 SQL SELECT 语句。 若要引用输入运算符的输出,请使用该运算符的名称作为查询中的表名。 例如:
SELECT COUNT(*)
FROM aggregate_2
WHERE 1 = 1
单击“ 编辑器中的按钮可打开完整的 SQL 代码窗格,并查看语句如何适应完整的工作流。
转换
从输入数据中选择、创建或转换列。
在“转换配置”窗格中:
- 包括或排除列:使用复选框选择传递到输出的列。 单击标题复选框以选中所有列或清除所选内容。
- 重命名列:在任何列旁边的 “重命名 ”字段中键入新名称。
- 重新排序列:拖动行左侧的句柄以更改列顺序。
- 添加自定义列:单击 “+ 添加自定义列 ”以打开表达式编辑器。 请参阅下文。
自定义列
表达式编辑器允许使用自然语言或代码定义新列。 编辑器有两个输入框,双向:
说明:键入希望列执行的操作的自然语言说明。
表达式:如果希望直接编写或编辑代码,请单击“编辑表达式”按钮。 编辑表达式会自动生成自然语言说明。
若要删除自定义列,请按住指针在其行上,然后单击
Python
对输入数据运行自定义Python(PySpark)。 代码接收上游数据集作为 Spark 数据帧,并且必须将单个数据帧分配给该数据集 result,这将成为此操作员的输出。 使用配置窗格连接输入并查看编辑器提供的任何选项。
inputs["data"] 是按上游顺序输入数据帧 的列表 。 运算符详细信息窗格按顺序显示每个输入的名称。 例如,Available inputs: inputs["data"][0] (customers), inputs["Data"][1] (sales)。
最小模式是在存在时使用第一个输入,否则为空 DataFrame:
# inputs["data"] is a list of input DataFrames
result = inputs["data"][0] if inputs["data"] else spark.createDataFrame([], "col: string")
在此处,可以在工作分配结束之前将 DataFrame 操作(例如, select、 filter或 withColumn联接) result 链接在一起,或者替换为 result 从中 inputs["data"]生成的新 DataFrame。
组织
注意事项
在画布上添加注释,以便你可以记录工作流本身:其用途、假设、注意事项或交接上下文,供以后打开视觉数据准备的人员使用。 注释内容支持 Markdown,因此可以使用标题、列表、链接以及纯文本不足的强调。 注释不会影响数据流经运算符的方式。
组
在画布上直观地对运算符进行分组,而无需更改数据之间的流动方式-当视觉数据准备增大或想要反映逻辑阶段时非常有用。
若要生成组,请执行以下操作:
- 将运算符拖到组中:将一个或多个运算符拖到组上以将其添加到组中。
- 从所选内容创建组:选择一个或多个运算符,打开上下文菜单(右键单击),然后选择“ 创建新组 ”以在新组中包装所选内容。
在运算符位于组中后,你可以为组提供描述性名称,并 最小化 或 展开 它以显示或隐藏画布上的内容。