本页介绍了在 Cloud Data Fusion Studio 的 Wrangler 工作区中准备数据时如何执行数值计算。
您可以在以下数据类型的列中执行这些转换:
- 整数
- 十进制
- 双精度型
- 浮点数
- 长
- 简洁版
如需了解详情,请参阅 set-column
指令。
您可以在一列或多列中使用数字函数。可用的数值 函数因所选列数而异。您可以选择创建一个包含计算结果的新列,也可以让结果显示在添加转换的列中。
如果您对单个列应用数值函数,其行为与对多个列应用数值函数不同。例如:
- 对单列使用
Multiply()
函数时,您可以指定 列中的每个值要相乘的十进制值。Wrangler 会对示例数据执行乘法,并在同一列或新列中显示新值。 - 如果您对多个列使用
Multiply()
函数,Wrangler 会对所选列的每一行中的值进行乘法,并在转换的第一列中显示新值。
对一列中的值执行数字计算
如需对某个列应用数字计算,请按以下步骤操作:
- 前往 Cloud Data Fusion 中的 Wrangler 工作区。
- 在数据标签页中,找到列名称,然后点击 arrow_drop_down 展开箭头。
选择 Calculate,然后选择一个选项,例如 Add。
为了完成计算,部分函数会要求您输入一个小数 值。例如,如果您选择减法,则必须输入 从每一行中减去。
可选:要为计算值创建新列,请选择 复制到新列复选框。
点击应用。
这些值会根据计算结果而变化。Wrangler 会将相应指令添加为配方中的步骤。例如,如果您从 Price
列中的每个值中减去 2,Wrangler 会将以下转换添加到该食谱中:
set-column :Price Price - 2
运行数据流水线时,系统会将转换应用于该列中的所有值。
支持的一列计算
您可以对一列中的所有值执行以下计算:
函数 | 说明 |
---|---|
绝对值 | 返回列中每个值的绝对值。例如: -10 的绝对值为 10。 |
添加 | 向列中添加正或负小数,或添加多列以输出每行的总和。 |
Arccos | 返回某列中每个值的余弦值的倒数。 |
Arcsin | 返回某个列中每个值的 sin 的倒数。 |
Arctan | 返回某个列中每个值的反正切值。 |
塞尔 | 返回大于或等于列中每个单元格的数值的最小整数。例如,如果值为 2.21,Ceil 会返回 3。如果值为 5.88,Ceil 会返回 6。如果 为 -5.15,则 Ceil 返回 -5。 |
Cos | 返回每个列值的余弦。 |
Cube | 将列中的每个值都乘方到 3。 |
立方根 | 返回列中每个值的立方根。 |
除法 | 将列中的每个值除以正负小数,或将两列中的每个值进行除法。 |
楼层 | 返回大于或等于所指定数值的最大整数 。例如,如果值为 2.21,则 FLOOR 会返回 2。如果值为 5.88,则 FLOOR 会返回 5。同样,如果值为 -5.15,则 FLOOR 会返回 -6。 |
日志 | 返回列中每个值对应的对数。 |
Modulo | 返回将列中的每个值除以正小数的余数,或返回将两列中的每个值除以另一列的余数。 |
乘法 | 将列中的每个值乘以正负小数,或将两列中的每个值相乘。 |
自然日志 | 返回列中每个值的自然对数。 |
以下要素: | 将列值提高到指定值的次方。 |
随机 | 在指定的时间期限内生成不可预测的随机双精度值 列。 |
圆角 | 对列中的每个值进行四舍五入。 |
正弦函数 | 返回列中每个值的正弦值。 |
方形 | 将列中的每个值都乘以 2。 |
平方根 | 返回列中每个值的平方根。 |
减法 | 从列中的每个值中减去一个正或负小数。 |
Tan | 返回列中每个值的正切值。 |
对两列中的值执行数字计算
如需对两个列应用数字计算,请按以下步骤操作:
- 前往 Cloud Data Fusion 中的 Wrangler 工作区。
- 在数据标签页上,选中两个列名称旁边的复选框。
- 找到列名称,然后点击 arrow_drop_down 展开箭头。
- 选择计算,然后选择一个选项,例如加法。
- 可选:如需为计算值创建新列,请选中复制到新列复选框。否则,计算值会替换现有值。
- 点击应用。
这些值会根据计算结果而变化。Wrangler 会添加
指令作为配方中的一个步骤。例如,如果您在 Q1_Sales
和 Q2_Sales
列的每行中添加值,并创建一个名为 H1_Sales
的新列,Wrangler 会将以下转换添加到该食谱中:
set-column :H1_Sales arithmetic:add(Q1_Sales, Q2_Sales)
当您运行数据流水线时,Wrangler 会执行转换,并创建一个名为 H1_Sales
的新列,其中包含 Q1_Sales
和 Q2_Sales
的总和。
支持的两列计算
您可以对两个列中每行的值执行以下数值计算:
函数 | 说明 |
---|---|
添加 | 为列添加正/负小数或添加多个列 以输出每行的总和。 |
一般 | 返回多列中每行的平均值。 |
除号 | 将列中的每个值除以正负小数,或将两列中的每个值进行除法。 |
等于 | 布尔函数,用于比较两列以查看值是否匹配,行
按行显示。返回 true 或 false 。 |
LCM | 返回两个列中每个数字的最小公倍数。 |
最大值 | 返回两列中每行的最大值。 |
最小 | 返回两列中每行的最小值。 |
Modulo | 返回将列中的每个值除以正小数的余数,或返回将两列中的每个值除以另一列的余数。 |
乘法 | 将列中的每个值与正/负小数或 将两列中的每个值相乘。 |
减法 | 将一个正小数或负小数减去 列。 |
对三列或更多列中的值执行数字计算
Cloud Data Fusion 支持对 在 6.8.0 及更高版本中为 3 列或更多列。
要将数值计算应用于三列或更多列,请按以下步骤操作:
- 转到 Cloud Data Fusion 中的 Wrangler 工作区。
- 在数据标签页上,选中两个列名称旁边的复选框。
- 找到列名称,然后点击 arrow_drop_down 展开箭头。
- 选择计算,然后选择一个选项,例如加法。
- 可选:如需为计算值创建新列,请选中复制到新列复选框。否则,计算值会替换现有值。
- 点击应用。
这些值会根据计算结果而变化。Wrangler 会添加
指令作为配方中的一个步骤。例如,如果您在每一行中添加值
(共 Q1_Sales
、Q2_Sales
、Q3_Sales
和 Q4_Sales
列),并创建一个
名为 2022_Sales
的新列,Wrangler 会将以下转换添加到
食谱:
set-column :2022_Sales arithmetic:add(Q1_Sales, Q2_Sales, Q3_Sales, Q4_Sales)
当您运行数据流水线时,Wrangler 会执行转换并创建
一个名为 2022_Sales
的新列,其中包含 Q1_Sales
、Q2_Sales
、
Q3_Sales
和 Q4_Sales
。
支持在三列或更多列中进行计算
您可以对 3 个或 2 个中每行的值进行以下计算: 更多列:
函数 | 说明 |
---|---|
添加 | 为列添加正/负小数或添加多个列 以输出每行的总和。 |
平均 | 返回多列中每行的平均值。 |
等于 | 布尔函数,用于比较两列以查看值是否匹配,行
按行显示。返回 true 或 false 。 |
Max | 返回两个列中每行的最大值。 |
最小 | 返回两列中每行的最小值。 |
乘 | 将列中的每个值与正/负小数或 将两列中的每个值相乘。 |
后续步骤
- 详细了解 Wrangler 指令。