注意:以下翻译的准确性尚未经过验证。这是使用 AIP ↗ 从原始英文文本进行的机器翻译。

函数索引

Pipeline Builder 提供在不同级别上操作的表达式。它们通常可以分为行级、聚合或生成器。

行级函数对来自单行的值进行操作。大多数表达式属于此类别,例如 add

聚合将多个行值聚合为一个。例如 'sum' 表达式。

生成器从单行生成多个值。例如 'explode_array' 表达式。

变换是对整个表或多个表进行操作的函数。例如 'drop' 变换。以下文档将概述可用的表达式和变换。

行级表达式


绝对值

支持于: 批处理, 流式处理

返回绝对值。

表达式类别: 数值

类型变量界限: T 接受数值

输出类型: T

示例

参数值:

  • 表达式: numeric_column
numeric_column输出
0.00.0
1.11.1
-1.11.1

查看更多详细信息这里


加法运算

支持于: 批处理, 流式处理

计算所有输入列的总和。

表达式类别: 数值

输出类型: 数值

示例

参数值:

  • 表达式: [col_a, col_b]
col_acol_b输出
011
3-21

查看更多详细信息这里


添加或更新结构字段

支持于: 批处理, 流式处理

更新结构的字段或添加新字段。

表达式类别: 结构

输出类型: 结构

示例

参数值:

  • 表达式: value
  • 定位器: airline.id
  • 结构: struct
structvalue输出
{
airline: {
id: NA,
},
}
1{
airline: {
id: 1,
},
}
{
airline: {
id: FE,
},
}
2{
airline: {
id: 2,
},
}

查看更多详细信息这里


日期加值

支持于: 批处理, 流式处理

返回在'起始'日期后 'value' 天/周/月/季度/年 的日期。

表达式类别: 日期时间

输出类型: 日期

示例

参数值:

  • 日期: 2022-02-01
  • 单位: DAYS
  • : 2

输出: 2022-02-03

查看更多详细信息这里


所有数组元素满足

支持于: 批处理, 流式处理

如果表达式对数组中的所有元素都为 true,则返回 true。

表达式类别: 数组

输出类型: 布尔

示例

参数值:

  • 数组: miles
  • 布尔条件:
    isNull(
     表达式: element,
    )
miles输出
[ 12300, null ]false
[ null, null ]true

查看更多详细信息这里


And

支持于: 批处理, 流式处理

如果所有指定条件都为 true,则返回 true。Null 被视为 false。

表达式类别: 布尔

输出类型: 布尔

示例

参数值:

  • 条件: [left_boolean, right_boolean]
left_booleanright_boolean输出
truetruetrue
truefalsefalse
falsetruefalse
falsefalsefalse

查看更多详细信息这里


任何数组元素满足

支持于: 批处理, 流式处理

如果表达式对数组中的任何元素为 true,则返回 true。

表达式类别: 数组

输出类型: 布尔

示例

参数值:

  • 数组: miles
  • 布尔条件:
    isNull(
     表达式: element,
    )
miles输出
[ 12300, null ]true
[ 12300, 12000 ]false

查看更多详细信息这里


Arccos

支持于: 批处理, 流式处理

反余弦函数。

表达式类别: 数值

输出类型: 双精度

示例

参数值:

  • 角度单位: radians
  • : 1.0

输出: 0.0

查看更多详细信息这里


Arcsin

支持于: 批处理, 流式处理

反正弦函数。

表达式类别: 数值

输出类型: 双精度

示例

参数值:

  • 角度单位: radians
  • : 0.0

输出: 0.0

查看更多详细信息这里


Arctan

支持于: 批处理, 流式处理

反正切函数。

表达式类别: 数值

输出类型: 双精度

示例

参数值:

  • 角度单位: degrees
  • : angle
angle输出
-1.0-45.0
0.00.0
1.045.0

查看更多详细信息这里


Arctan2

支持于: 批处理, 流式处理

返回从原点到点 (x, y) 的射线与正 x 轴之间的角度 θ,范围 -π<θ<=π。

表达式类别: 数值

输出类型: 双精度

示例

参数值:

  • 角度单位: degrees
  • X: x
  • Y: y
yx输出
0.00.00.0
1.00.090.0
0.0-1.0180.0
-1.00.0-90.0

查看更多详细信息这里


面积

支持于: 批处理, 流式处理

使用球面近似地球计算几何图形的面积(以平方米为单位)。对于线字符串或点,该值为 0。

表达式类别: 地理空间

输出类型: 双精度

查看更多详细信息这里


数组添加

支持于: 批处理, 流式处理

在指定索引处向数组添加一个值。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 数组: numbers
  • 索引: 1
  • : 1
numbers输出
[ 3, 5 ][ 1, 3, 5 ]
[ 2 ][ 1, 2 ]
[ ][ 1 ]

查看更多详细信息这里


数组笛卡尔积

支持于: 批处理, 流式处理

计算数组的笛卡尔积。

表达式类别: 数组

输出类型: Array<Struct>

示例

参数值:

  • 表达式: [first, second]
firstsecond输出
[ 1, 2 ][ 3, 4 ][ {
first: 1,
second: 3,
}, {
first: 1,
 *second...

查看更多详细信息这里


数组连接

支持于: 批处理, 流式处理

将提供的数组连接为一个单一数组,不去重。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 表达式: [[ 1, 2, 3 ], [ 4, 5 ]]

输出: [ 1, 2, 3, 4, 5 ]

查看更多详细信息这里


数组包含

支持于: 批处理, 流式处理

如果数组包含该值,则返回 true。

表达式类别: 数组, 布尔

输出类型: 布尔

示例

参数值:

  • 数组: part_ids
  • : BRR-123
part_ids输出
[ AWE-112, BRR-123 ]true
[ AWE-222, ABC-543 ]false

查看更多详细信息这里


数组包含 null

支持于: 批处理, 流式处理

如果 array 包含 null,则返回 true。

表达式类别: 数组, 布尔

输出类型: 布尔

示例

参数值:

  • 表达式: part_ids
part_ids输出
[ AWE-112, BRR-123, null ]true
[ AWE-222, ABC-543 ]false

查看更多详细信息这里


数组差异

支持于: 批处理, 流式处理

返回 left 数组中不在 right 数组中的所有唯一元素。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 左数组: [ 1, 2, 3 ]
  • 右数组: [ 2, 3, 4 ]

输出: [ 1 ]

查看更多详细信息这里


数组去重

支持于: 批处理, 流式处理

移除重复项并返回数组中的唯一值。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 表达式: [ 1, 1, 2, 3 ]

输出: [ 1, 2, 3 ]

查看更多详细信息这里


数组元素

支持于: 批处理, 流式处理

返回给定位置的输入数组中的元素。数组范围外的位置将返回 null

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: T

示例

参数值:

  • 数组: [ 10, 11, 12 ]
  • 位置: 1

输出: 10

查看更多详细信息这里


数组元素是否唯一

支持于: 批处理, 流式处理

如果数组的元素是唯一的,则返回 true,否则返回 false。如果数组为 null,则返回值为 false。

表达式类别: 数组, 布尔

输出类型: 布尔

示例

参数值:

  • 表达式: part_ids
part_ids输出
[ ABC-123, DCE-123, EFG-123 ]true
[ ABC-123, ABC-123, EFG-123 ]false

查看更多详细信息这里


数组扁平化

支持于: 批处理, 流式处理

通过联合嵌套的第一级元素,从输入嵌套数组创建单一数组。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 表达式: array
array输出
[ [ 1, 2, 3 ], [ 4, 5, 6 ] ][ 1, 2, 3, 4, 5, 6 ]

查看更多详细信息这里


数组交集

支持于: 批处理, 流式处理

移除重复项并取数组列表的交集。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 表达式: [[ 1, 2, 3 ], [ 3, 4 ]]

输出: [ 3 ]

查看更多详细信息这里


数组最大值

支持于: 批处理, 流式处理

返回数组列的最大值。

表达式类别: 数组

类型变量界限: T 接受数值

输出类型: T

示例

参数值:

  • 表达式: [ 1, 2, 3 ]

输出: 3

查看更多详细信息这里


数组最小值

支持于: 批处理, 流式处理

返回数组列的最小值。

表达式类别: 数组

类型变量界限: T 接受数值

输出类型: T

示例

参数值:

  • 表达式: [ 1, 2, 3 ]

输出: 1

查看更多详细信息这里


数组位置

支持于: 批处理, 流式处理

返回给定数组中 'value' 的第一次出现的位置/索引。当未找到值或任何参数为 null 时返回 null

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: 长整型

示例

参数值:

  • 数组: [ 10, 11, 12 ]
  • : 10

输出: 1

查看更多详细信息这里


数组移除

支持于: 批处理, 流式处理

返回从给定数组中移除所有提供的 'value' 后的数组。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 数组: [ 1, 2, 3 ]
  • : 1

输出: [ 2, 3 ]

查看更多详细信息这里


数组重复

支持于: 批处理, 流式处理

返回一个数组,其中 array 的内容被连接 value 次。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 数组: [ 1, 2 ]
  • : 2

输出: [ 1, 2, 1, 2 ]

查看更多详细信息这里


数组反转

支持于: 批处理, 流式处理

反转 'array' 中元素的顺序。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 表达式: [ 1, 2, 3 ]

输出: [ 3, 2, 1 ]

查看更多详细信息这里


数组排序

支持于: 批处理, 流式处理

返回给定输入数组的排序数组。所有 null 值在降序数组的末尾,在升序数组的开头。

表达式类别: 数组

类型变量界限: T 接受 ComparableType

输出类型: Array<T>

示例

参数值:

  • 方向: ASCENDING
  • 表达式: [ 5, 3, 6 ]

输出: [ 3, 5, 6 ]

查看更多详细信息这里


数组并集

支持于: 批处理, 流式处理

移除重复项并取数组列表的并集。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 表达式: [[ 1, 2, 3 ], [ 3, 4 ]]

输出: [ 1, 2, 3, 4 ]

查看更多详细信息这里


数组有交集

支持于: 批处理, 流式处理

检查给定数组是否至少有一个共享元素。

表达式类别: 数组, 布尔

类型变量界限: T 接受 AnyType

输出类型: 布尔

示例

参数值:

  • 表达式: [[ 1, 2, 3 ], [ 3, 4 ]]

输出: true

查看更多详细信息这里


数组压缩

支持于: 批处理, 流式处理

将给定数组列表压缩为合并的结构数组,其中第 n 个结构包含输入数组的所有第 n 个值。

表达式类别: 数组

输出类型: Array<Struct>

示例

参数值:

  • 表达式: [first_array, second_array]
first_arraysecond_array输出
[ 1, 2, 3 ][ 4, 5, 6 ][ {
first_array: 1,
second_array: 4,
}, {
first_array: 2,<...

查看更多详细信息这里


Base 64 解码为字符串

支持于: 批处理, 流式处理

Base64 解码给定表达式。对二进制数据使用 utf-8 编码。

表达式类别: 二进制, 转换, 字符串

输出类型: 字符串

示例

参数值:

  • 表达式: encoded
encoded输出
Zm9vfoo
YmFybar

查看更多详细信息这里


Base64 解码

支持于: 批处理, 流式处理

Base64 解码给定表达式。

表达式类别: 二进制, 转换

输出类型: 二进制

示例

参数值:

  • 表达式: city_base64
city_base64输出
TG9uZG9uTG9uZG9u
Q29wZW5oYWdlbg==Q29wZW5oYWdlbg==
TmV3IFlvcms=TmV3IFlvcms=

查看更多详细信息这里


Base64 编码

支持于: 批处理, 流式处理

Base64 编码给定表达式。

表达式类别: 二进制, 转换

输出类型: 字符串

示例

参数值:

  • 表达式: city
city输出
LondonTG9uZG9u
CopenhagenQ29wZW5oYWdlbg==
New YorkTmV3IFlvcms=

查看更多详细信息这里


位左移

支持于: 批处理, 流式处理

将给定值向左移位一定数量的位。

表达式类别: 二进制

类型变量界限: E 接受 Byte | Integer | Long | Short

输出类型: E

示例

参数值:

  • 表达式: 1
  • 位数: 1

输出: 2

查看更多详细信息这里


位右移

支持于: 批处理, 流式处理

将给定值向右移位一定数量的位。

表达式类别: 二进制

类型变量界限: E 接受 Byte | Integer | Long | Short

输出类型: E

示例

参数值:

  • 表达式: 1
  • 位数: 1

输出: 0

查看更多详细信息这里


缓冲 H3 索引

支持于: 批处理, 流式处理

从一组 H3 索引创建距离 k 的缓冲区。

表达式类别: 地理空间

输出类型: Array<H3 Index>

查看更多详细信息这里


计算目标点

支持于: 批处理, 流式处理

根据起始点、航向和距离计算沿指定路径的目标点。

表达式类别: 地理空间

输出类型: GeoPoint

示例

参数值:

  • 航向: course
  • 距离: distance
  • 起始点: point_a
  • 计算方法: GREAT_CIRCLE
point_acoursedistance输出
{
latitude: 48.8567,
longitude: 2.3508,
}
225.032000.0{
latitude: 48.65279552300661,
longitude: 2.0427666779658806,
}

查看更多详细信息这里


计算哈弗赛因距离

支持于: 批处理, 流式处理

计算两对纬度和经度点之间的哈弗赛因距离(以米为单位)。

表达式类别: 地理空间

输出类型: 双精度

示例

参数值:

  • 点 a: point_a
  • 点 b: point_b
point_apoint_b输出
{
latitude: 41.507483,
longitude: -99.436554,
}
{
latitude: 38.504048,
longitude: -98.315949,
}
347328.82778977347
{
latitude: 22.308919,
longitude: 113.914603,
}
{
latitude: -33.946111,
longitude: 151.177222,
}
7393894.00134442

查看更多详细信息这里


条件选择

支持于: 批处理, 流式处理

根据条件在不同分支之间进行选择。

表达式类别: 流行

类型变量界限: T 接受 AnyType

输出类型: T

示例

参数值:

  • 默认: Yes
  • 分支: [(
    lessThan(
     left: miles,
     right: 15000,
    ), No)]
miles输出
20053Yes
10210No
34120Yes

查看更多详细信息这里


类型转换

支持于: 批处理, 流式处理

将表达式转换为给定类型。

表达式类别: 转换, 流行

类型变量界限: C 接受 AnyType

输出类型: C

示例

描述: 将长整型转换为字符串 参数值:

  • 表达式: 1234
  • 类型: 字符串

输出: 1234

查看更多详细信息这里


向上取整

支持于: 批处理, 流式处理

返回给定小数值的向上取整值。

表达式类别: 数值

输出类型: Decimal | Long

示例

参数值:

  • 表达式: 10.123

输出: 11

查看更多详细信息这里


更改时间戳时区

支持于: 批处理

更改时间戳的时区。

表达式类别: 日期时间

输出类型: 时间戳

示例

参数值:

  • 输出时区: America/Chicago
  • 时间戳: 2020-04-28T05:09:00Z
  • 输入时区: US/Eastern

输出: 2020-04-28T04:09:00Z

查看更多详细信息这里


字符逐个翻译字符串

支持于: 批处理, 流式处理

替换输入列中匹配的字符为替换字符串中的对应字符。如果匹配字符串比替换字符串长,匹配字符串末尾的字符将被删除。

表达式类别: 字符串

输出类型: 字符串

示例

参数值:

  • 表达式: translate
  • 匹配字符串: rnlt
  • 替换字符串: 123

输出: 1a2s3ae

查看更多详细信息这里


分块字符串

支持于: 批处理

将字符串分块为指定大小的块并在指定的分隔符上分块。

表达式类别: 字符串

输出类型: Array<String>

示例

参数值:

  • 表达式: string
  • 块重叠: null
  • 块大小: 10
  • 保留分隔符: null
  • 分隔符: null
string输出
hello[ hello ]
hello world. the quick brown fox jumps over the fence.[ hello, world., the quick, brown fox, jumps, over the, fence. ]
hello world.
the quick brown fox
jumps over the fence.
[ hello, world., the quick, brown fox, jumps, over the, fence. ]
hello world.
the quick brown fox
jumps over the fence.
[ hello, world., the quick, brown fox, jumps, over the, fence. ]

查看更多详细信息这里


密码解密

支持于: 批处理, 流式处理

使用密码解密表达式。

表达式类别: 其他

输出类型: 字符串

示例

参数值:

  • 密码许可证 rid: ri.bellaso.main.cipher-license.1-decrypt
  • 表达式: string
string输出
CIPHER::ri.bellaso.main.cipher-channel.1::OCRBIW3iHDltOGa6MEHwb7f/Dw==::CIPHERbar

查看更多详细信息这里


密码加密

支持于: 批处理, 流式处理

使用密码加密表达式。

表达式类别: 其他

输出类型: 密码文本

示例

参数值:

  • 密码许可证 rid: ri.bellaso.main.cipher-license.1-encrypt
  • 表达式: string
string输出
barCIPHER::ri.bellaso.main.cipher-channel.1::OCRBIW3iHDltOGa6MEHwb7f/Dw==::CIPHER

查看更多详细信息这里


密码哈希

支持于: 批处理, 流式处理

使用密码对表达式进行哈希处理。

表达式类别: 其他

输出类型: 密码文本

示例

参数值:

  • 密码许可证 rid: ri.bellaso.main.cipher-license.1-hash
  • 表达式: string
string输出
barCIPHER::ri.bellaso.main.cipher-channel.1::c70a14f5cc57c940e3265045a5554d641bd549ee27a571a05cdbc75c77762eb86b1144c12f1bb7811a0bcec08b2f143989c44022e4664f615d6885ad640332cb::CIPHER

查看更多详细信息这里


清理字符串

支持于: 批处理, 流式处理

对表达式应用一组清理操作。

表达式类别: 数据准备, 字符串

输出类型: 字符串

示例

参数值:

  • 清理操作: {trim}
  • 表达式: hello world

输出: hello world

查看更多详细信息这里


压缩 H3 索引集

支持于: 批处理, 流式处理

如果可能,将 H3 索引压缩为混合分辨率的子集。如果输入索引都是相同分辨率,则运行反向操作(解压缩)将保证产生相同的索引集。如果任何输入索引无效,此变换将返回 null。输出索引按升序排序。

表达式类别: 地理空间

输出类型: Array<H3 Index>

示例

参数值:

  • H3 索引: h3_set
h3_set输出
[ 87754a914ffffff, 87754a916ffffff, 87754a930ffffff, 87754a932ffffff, 87754a933ffffff, 87754a934ffff...[ 86754e64fffffff, 87754a914ffffff, 87754a916ffffff, 87754a930ffffff, 87754a932ffffff, 87754a933ffff...

查看更多详细信息这里


连接字符串

支持于: 批处理, 流式处理

使用指定的分隔符连接字符串列表。

表达式类别: 字符串

输出类型: 字符串

示例

参数值:

  • 表达式: [hello, world]
  • 分隔符: _

输出: hello_world

查看更多详细信息这里


构造 GeoPoint 列

支持于: 批处理, 流式处理

从纬度和经度列构造 GeoPoint 列。验证纬度参数是否在 -90 和 90 之间(含),经度参数是否在 -180 和 180 之间(含);如果不在范围内,则返回 null 值。

表达式类别: 地理空间

输出类型: GeoPoint

查看更多详细信息这里


构造委托媒体哥谭标识符 (GID)

支持于: 批处理, 流式处理

从组件构造一个有效的委托媒体哥谭标识符 (GID) 的表达式。如果结果超过 1024 个字符,则产生 null 行。

表达式类别: 其他

输出类型: 委托媒体哥谭标识符 (GID)

示例

参数值:

  • 媒体定位器: locator
  • 媒体类型: mediaType
  • 生产者实例: invalidUuid
mediaTypelocator输出
testaudiotype空字符串null

查看更多详细信息这里


将 DMS 转换为 GeoPoint

支持于: 批处理, 流式处理

根据用户提供的格式,将度、分、秒 (DMS) 格式的地理坐标字符串转换为 GeoPoint。默认格式为 DDD*°MM*'SS*"HDDD*MMSSssH。格式按顺序运行,第一个匹配的格式将被返回。请参阅格式指南以了解如何编写用户生成的格式。

表达式类别: 地理空间

输出类型: GeoPoint

示例

参数值:

  • 坐标: coordinates
  • 格式: null
coordinates输出
078261594N075220923E{
latitude: 78.43776111111112,
longitude: 75.36923055555555,
}
046115095S069524119W{
latitude: -46.19748611111111,
longitude: -69.87810833333333,
}
023°45'55"N 069°52'11"W{
latitude: 23.76527777777777,
longitude: -69.86972222222222,
}
-123°55'55"N 069°53'00"W{
latitude: -123.93194444444445,
longitude: -69.88333333333334,
}
123456789N23456789E{
latitude: 123.76885833333333,
longitude: 23.768858333333334,
}

查看更多详细信息这里


将 GeoPoint 转换为 Geohash

支持于: 批处理, 流式处理

将 GeoPoint 转换为包含 GeoPoint 的具有指定精度的 base32 编码 Geohash。有关 Geohash 的更多信息,请参阅:https://en.wikipedia.org/wiki/Geohash

表达式类别: 地理空间

输出类型: Geohash

查看更多详细信息这里


将 GeoPoint 转换为 MGRS

支持于: 批处理, 流式处理

将 GeoPoint 按照 WGS84 坐标系(即 EPSG:4326)转换为 MGRS(军事网格参考系统)坐标。输出 MGRS 将遵循具有 5 位精度的空格分隔格式。

表达式类别: 地理空间

输出类型: MGRS

示例

参数值:

  • 表达式: geoPoint
geoPoint输出
{
 latitude -> 88.99999659707431,
 longitude -> 0.9996456505181999,
}
Z AF 01937 88990

查看更多详细信息这里


将 GeoPoint 转换为几何

支持于: 批处理, 流式处理

将 GeoPoint 转换为类型为点的 GeoJSON。

表达式类别: 地理空间

输出类型: 几何

查看更多详细信息这里


将 MGRS 转换为 GeoPoint

支持于: 批处理, 流式处理

将 MGRS(军事网格参考系统)坐标转换为遵循 WGS84 坐标系(即 EPSG:4326)的 GeoPoint。

表达式类别: 地理空间

输出类型: GeoPoint

示例

参数值:

  • 表达式: mgrs
mgrs输出
ZAF0193788990{
latitude: 88.99999659707431,
longitude: 0.9996456505181999,
}

查看更多详细信息这里


将字符串转换为日期

支持于: 批处理, 流式处理

根据 Java DateTimeFormatter 返回格式化字符串给定的日期。默认格式为 yyyy-MM-ddyyyy-MM-dd'T'HH:mm:ss.SSSXXX。格式按顺序运行,第一个匹配的格式将被返回。

表达式类别: 转换, 日期时间

输出类型: 日期

示例

描述: 日期格式为非必填 参数值:

  • 字符串: 2020-04-28
  • 格式: null

输出: 2020-04-28

查看更多详细信息这里


将字符串转换为时间戳

支持于: 批处理, 流式处理

根据 Java DateTimeFormatter 返回格式化字符串给定的时间戳。默认格式为 yyyy-MM-dd'T'HH:mm:ss.SSSXXXyyyy-MM-dd。格式按顺序运行,第一个匹配的格式将被返回。

表达式类别: 转换, 日期时间

输出类型: 时间戳

示例

参数值:

  • 字符串: timestamp
  • 格式: [dd-yyyy-MM HH:mm, yyyy-MM-dd]
  • 时区: null
timestamp输出
28-2020-04 10:09:002020-04-28T10:09:00Z
2020-04-282020-04-28T00:00:00Z

查看更多详细信息这里


进制转换

支持于: 批处理

将一个数字(或其字符串表示)从一个进制转换为另一个进制。

表达式类别: 二进制, 转换, 数值

输出类型: 字符串

示例

参数值:

  • 表达式: 4A801
  • 从进制: 16
  • 到进制: 10

输出: 305153

查看更多详细信息这里


角度单位转换

支持于: 批处理, 流式处理

表达式类别: 地理空间, 数值

输出类型: 双精度

查看更多详细信息这里


在距离单位之间转换

支持于: 批处理, 流处理

表达式类别: 数值

输出类型: Double

查看更多详细信息此处.


在时间单位之间转换

支持于: 批处理, 流处理

表达式类别: 日期时间

输出类型: Double

查看更多详细信息此处.


在重量单位之间转换

支持于: 批处理, 流处理

表达式类别: 数值

输出类型: Double

查看更多详细信息此处.


将数据转换为 JSON

支持于: 批处理, 流处理

将输入变换为json字符串。

表达式类别: 文件, 字符串

输出类型: 字符串

示例

参数值:

  • 输入: struct
struct输出
{
airline: {
id: NA,
},
}
{"airline":{"id":"NA"}}

查看更多详细信息此处.


从 Ontology GeoPoint 转换

支持于: 批处理, 流处理

将一个 Ontology GeoPoint 转换为常规 GeoPoint。Ontology GeoPoint 是格式为 '{lat},{lon}' 的字符串,其中 -90 <= lat <= 90 和 -180 <= lon <= 180。常规 GeoPoint 是格式为 {"longitude": {long},"latitude": {lat}} 的结构。

表达式类别: 地理空间

输出类型: GeoPoint

示例

参数值:

  • 表达式: geopoint
geopoint输出
-20.0000000,80.0000000{
latitude: -20.0,
longitude: 80.0,
}
38.9031000,-77.0599000{
latitude: 38.9031,
longitude: -77.0599,
}
41.9876543,-99.1234568{
latitude: 41.9876543,
longitude: -99.1234568,
}

查看更多详细信息此处.


从十六进制转换

支持于: 批处理

十六进制的反转。将每对字符解释为一个十六进制数,并转换为该数字的字节表示。

表达式类别: 数值, 字符串

输出类型: Binary

示例

参数值:

  • 表达式: string_hex
string_hex输出
68656C6C6FaGVsbG8=
3039MDk=
FFFFFFFFFFFFCFC7////////z8c=
4C6F6E646F6ETG9uZG9u

查看更多详细信息此处.


从十六进制转换为字符串

支持于: 批处理, 流处理

十六进制的反转,将每对字符解释为一个十六进制数,并转换为该数字的字节表示的utf-8字符串。

表达式类别: 字符串

输出类型: 字符串

示例

参数值:

  • 表达式: string_hex
string_hex输出
68656C6C6Fhello
4C6F6E646F6ELondon

查看更多详细信息此处.


将地心坐标转换为 WGS 84 大地坐标

支持于: 批处理, 流处理

将地心笛卡尔坐标转换为大地极坐标。海拔定义为椭球面上方的高度。如果任何坐标为空,输出将为空。

表达式类别: 地理空间

输出类型: 带海拔的GeoPoint

示例

参数值:

  • X坐标: x_coordinate
  • Y坐标: y_coordinate
  • Z坐标: z_coordinate
x_coordinatey_coordinatez_coordinate输出
0.06378137.00.0{
 altitude -> 0.0,
 geoPoint -> {
 latitude -> 0.0,
 longitude -> 90.0,
},
}
0.0-6378137.00.0{
 altitude -> 0.0,
 geoPoint -> {
 latitude -> 0.0,
 longitude -> -90.0,
},
}
-6378137.00.00.0{
 altitude -> 0.0,
 geoPoint -> {
 latitude -> 0.0,
 longitude -> 180.0,
},
}
-6378137.0-0.00.0{
 altitude -> 0.0,
 geoPoint -> {
 latitude -> 0.0,
 longitude -> -180.0,
},
}
0.00.06356752.314245179{
 altitude -> 0.0,
 geoPoint -> {
 latitude -> 90.0,
 longitude -> 0.0,
},
}
0.00.0-6356752.314245179{
 altitude -> 0.0,
 geoPoint -> {
 latitude -> -90.0,
 longitude -> 0.0,
},
}

查看更多详细信息此处.


转换遗留的 OffsetDateTime

支持于: 批处理

将遗留的 OffsetDateTime 列转换为可在所有 Foundry 管道中使用的时间戳。时间戳以 UTC 返回。

表达式类别: 日期时间

输出类型: 时间戳

查看更多详细信息此处.


将线串转换为多边形

支持于: 批处理, 流处理

将线串几何转换为多边形几何。此表达式假定线串几何是闭合的。如果不是,表达式将返回 null。

表达式类别: 地理空间

输出类型: 几何

示例

参数值:

  • 表达式: polygon_points
polygon_points输出
{"type":"LineString","coordinates":[[-77.49,38.01],[-77.47,38.15],[-77.19,38.14],[-77.49,38.01]]}{"type":"Polygon","coordinates":[[[-77.49,38.01],[-77.47,38.15],[-77.19,38.14],[-77.49,38.01]]]}

查看更多详细信息此处.


将时间戳从 UTC 转换

支持于: 批处理, 流处理

将时间戳从 UTC 转换到给定的时区。

表达式类别: 日期时间

输出类型: 时间戳

示例

参数值:

  • 时区: EST
  • 时间戳: 2020-04-28T10:09:00Z

输出: 2020-04-28T05:09:00Z

查看更多详细信息此处.


将时间戳转换为 UTC

支持于: 批处理, 流处理

根据给定的时区将时间戳转换为 UTC。

表达式类别: 日期时间

输出类型: 时间戳

示例

参数值:

  • 时区: EST
  • 时间戳: 2020-04-28T10:09:00Z

输出: 2020-04-28T15:09:00Z

查看更多详细信息此处.


转换为 Ontology GeoPoint

支持于: 批处理, 流处理

将一个 GeoPoint 转换为 Ontology 将接受的用于地理索引列(地理哈希类型列)的字符串。Ontology GeoPoint 是格式为 '{lat},{lon}' 的字符串,其中 -90 <= lat <= 90 和 -180 <= lon <= 180。

表达式类别: 地理空间

输出类型: Ontology GeoPoint

示例

参数值:

  • 表达式: point
point输出
{
latitude: -20.0,
longitude: 80.0,
}
-20.0000000,80.0000000
{
latitude: 38.9031,
longitude: -77.0599,
}
38.9031000,-77.0599000
{
latitude: 41.987654321,
longitude: -99.123456789,
}
41.9876543,-99.1234568
nullnull

查看更多详细信息此处.


转换为十六进制

支持于: 批处理, 流处理

计算给定表达式的十六进制值。

表达式类别: 数值, 字符串

输出类型: 字符串

示例

参数值:

  • 表达式: city_hex
city_hex输出
TG9uZG9u4C6F6E646F6E

查看更多详细信息此处.


转换为八进制

支持于: 批处理, 流处理

计算给定表达式的八进制值。

表达式类别: 数值

输出类型: 字符串

示例

参数值:

  • 表达式: 12345

输出: 30071

查看更多详细信息此处.


余弦

支持于: 批处理, 流处理

取一个角度的余弦值。

表达式类别: 数值

输出类型: Double

示例

参数值:

  • 角度单位: degrees
  • 角度值: angle
angle输出
0.01.0
90.00.0
180.0-1.0

查看更多详细信息此处.


从坐标系创建 GeoPoint

支持于: 批处理, 流处理

从源坐标系中获取一对坐标,并将其变换为 WGS 84 纬度/经度值。坐标系(也称为坐标参考系或空间参考系)代表不同的系统,用于识别地球上某个点的位置,通常在标准化数据库(如 EPSG)中由键标识。如果给定的投影不支持或任一坐标为空,则返回 null。

表达式类别: 地理空间

输出类型: GeoPoint

示例

参数值:

  • 源坐标系: EPSG:32618
  • X坐标: x_coordinate
  • Y坐标: y_coordinate
x_coordinatey_coordinate输出
322190.22339529654306505.703879281{
 latitude -> 38.88944258,
 longitude -> -77.05014581,
}
323243.13615360594318298.06539618{
 latitude -> 38.99585379643137,
 longitude -> -77.04105678275415,
}
407063.634653000164764873.719585404{
 latitude -> 43.03086518778498,
 longitude -> -76.14077251822197,
}

查看更多详细信息此处.


创建空数组

支持于: 批处理, 流处理

返回给定类型的空数组。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 类型: 字符串

输出: [ ]

查看更多详细信息此处.


创建数组

支持于: 批处理, 流处理

从提供的列创建一个数组。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 表达式: [1, 2, 3]

输出: [ 1, 2, 3 ]

查看更多详细信息此处.


创建椭圆几何

支持于: 批处理, 流处理

将椭圆近似为以给定地理坐标为中心的多边形。点之间的距离沿着近似地球表面的 WGS84 椭球面计算。

表达式类别: 地理空间

输出类型: 几何

查看更多详细信息此处.


创建测地线串

支持于: 批处理, 流处理

在两个点之间创建一条测地线。

表达式类别: 地理空间

输出类型: 几何

查看更多详细信息此处.


创建线串几何

支持于: 批处理, 流处理

从给定的点创建一个 GeoJSON 线串几何。

表达式类别: 地理空间

类型变量界限: T 接受 Struct<longitude, latitude>

输出类型: 几何

示例

参数值:

  • : points
points输出
[ {
latitude: 10.0,
longitude: 0.0,
}, {
latitude: 10.0,
longitude: 10.0,
} ]
{"type":"LineString","coordinates":[[0.0,10.0],[10.0,10.0]]}
[ {
latitude: 10.0,
longitude: 10.0,
}, {
latitude: 20.0,<...
{"type":"LineString","coordinates":[[10.0,10.0],[20.0,20.0],[30.0,30.0]]}
[ {
latitude: 0.0,
longitude: 179.0,
}, {
latitude: 0.0,
longitude: 181.0,
} ]
{"type":"MultiLineString","coordinates":[[[179.0,0.0],[180.0,0.0]],[[-180.0,0.0],[-179.0,0.0]]]}
[ {
latitude: 0.0,
longitude: -179.0,
}, {
latitude: 0.0,
longitude: -181.0,
} ]
{"type":"MultiLineString","coordinates":[[[180.0,0.0],[179.0,0.0]],[[-179.0,0.0],[-180.0,0.0]]]}

查看更多详细信息此处.


从数组创建映射

支持于: 批处理, 流处理

使用压缩数组中的键值对返回一个映射。Null 值不允许作为键,并将导致运行时错误。

表达式类别: 数组, 映射

类型变量界限: K 接受 AnyType**V 接受 AnyType

输出类型: Map<K, V>

示例

参数值:

  • 键数组: [ 1, 2, 3 ]
  • 值数组: [ 4, 5, 6 ]

输出: {
 1 -> 4,
 2 -> 5,
 3 -> 6,
}

查看更多详细信息此处.


创建空值

支持于: 批处理, 流处理

返回给定类型的空值。

表达式类别: 数据准备

类型变量界限: T 接受 AnyType

输出类型: T

示例

参数值:

  • 类型: 字符串

输出: null

查看更多详细信息此处.


创建范围扇形几何

支持于: 批处理, 流处理

将范围扇形近似为一个多边形,指定到原点的哈弗辛距离在最小和最大半径之间的所有点的区域,并且从原点的方位角包含在围绕指定方位参数的角度范围内。范围扇形的左侧和右侧绘制为沿着近似地球表面的 WGS84 椭球面计算的测地线。如果范围跨越超过 180 度,同时也跨越反子午线,或如果最大半径跨越地球一半的周长,则返回 null。

表达式类别: 地理空间

输出类型: 几何

查看更多详细信息此处.


创建结构列

支持于: 批处理, 流处理

将多个列组合成一个结构化列。

表达式类别: 结构

输出类型: 结构

示例

参数值:

  • 结构元素: [tail_number, id]
tail_numberid输出
MT-1121{
id: 1,
tail_number: MT-112,
}
XB-1232{
id: 2,
tail_number: XB-123,
}
PA-6543{
id: 3,
tail_number: PA-654,
}

查看更多详细信息此处.


创建时间序列参考值

支持于: 批处理, 流处理

创建时间序列参考值。

表达式类别: 字符串

输出类型: 字符串

示例

参数值:

  • 序列标识符: seriesId
  • 时间序列同步 RID: ri.time-series-catalog.main.sync.11111111
seriesId输出
seriesOne{"seriesId":"seriesOne","syncRid":"ri.time-series-catalog.main.sync.11111111"}

查看更多详细信息此处.


当前日期

支持于: 批处理, 流处理

返回计算开始时的当前日期。

表达式类别: 日期时间

输出类型: 日期

查看更多详细信息此处.


当前时间戳

支持于: 批处理, 流处理

返回计算开始时的当前时间戳。

表达式类别: 日期时间

输出类型: 时间戳

查看更多详细信息此处.


日期序列

支持于: 批处理

创建一个包含从开始到结束范围内的日期的数组。

表达式类别: 日期时间

输出类型: Array<Date>

示例

参数值:

  • 结束日期: last_planned_flight
  • 开始日期: first_planned_flight
  • 步长单位: DAYS
  • 步长大小: null
first_planned_flightlast_planned_flight输出
2023-01-012023-01-03[ 2023-01-01, 2023-01-02, 2023-01-03 ]
2023-01-312023-02-02[ 2023-01-31, 2023-02-01, 2023-02-02 ]
2023-02-282023-03-01[ 2023-02-28, 2023-03-01 ]

查看更多详细信息此处.


解码 Geobuf 为 GeoJSON

支持于: 批处理, 流处理

将 Geobuf 几何解码为 GeoJSON。

表达式类别: 地理空间

输出类型: 几何

查看更多详细信息此处.


数字除法

支持于: 批处理, 流处理

将一个数字除以另一个数字。

表达式类别: 数值

输出类型: Decimal | Double

示例

参数值:

  • : col_a
  • : col_b
col_acol_b输出
422.0
1125.5

查看更多详细信息此处.


将 GeoJSON 编码为 Geobuf

支持于: 批处理, 流处理

将 GeoJSON 几何编码为 Geobuf。

表达式类别: 地理空间

输出类型: Geobuf

查看更多详细信息此处.


以...结尾

支持于: 批处理, 流处理

表达式类别: 布尔, 字符串

输出类型: 布尔

示例

参数值:

  • 表达式: Hello World
  • 忽略大小写: true
  • : world

输出: true

查看更多详细信息此处.


纪元毫秒转换为日期

支持于: 批处理, 流处理

将纪元毫秒转换为日期,UTC。

表达式类别: 转换, 日期时间

输出类型: 日期

示例

描述: 可以将纪元时间戳(以毫秒为单位)转换为日期类型 参数值:

  • 表达式: 1673964111000

输出: 2023-01-17

查看更多详细信息此处.


纪元毫秒转换为时间戳

支持于: 批处理, 流处理

将纪元毫秒转换为 UTC 时间戳。

表达式类别: 转换, 日期时间

输出类型: 时间戳

示例

描述: 可以将纪元时间戳(以毫秒为单位)转换为时间戳类型 参数值:

  • 表达式: 1673964111000

输出: 2023-01-17T14:01:51Z

查看更多详细信息此处.


纪元秒转换为日期

支持于: 批处理, 流处理

将纪元秒转换为 UTC 日期。

表达式类别: 转换, 日期时间

输出类型: 日期

示例

描述: 可以将纪元时间戳转换为日期类型 参数值:

  • 表达式: 1673964111

输出: 2023-01-17

查看更多详细信息此处.


纪元秒转换为时间戳

支持于: 批处理, 流处理

将纪元秒转换为 UTC 时间戳。

表达式类别: 转换, 日期时间

输出类型: 时间戳

示例

描述: 可以将纪元时间戳转换为时间戳类型 参数值:

  • 表达式: 1673964111

输出: 2023-01-17T14:01:51Z

查看更多详细信息此处.


等于

支持于: 批处理, 流处理

如果左边和右边相等,返回 true。

表达式类别: 布尔

输出类型: 布尔

示例

参数值:

  • : a
  • : b
ab输出
11true
10false

查看更多详细信息此处.


指数

支持于: 批处理, 流处理

计算列的指数,e^x。

表达式类别: 数值

输出类型: Double

示例

参数值:

  • 表达式: 2.0

输出: 7.38905609893

查看更多详细信息此处.


提取所有正则表达式匹配项

支持于: 批处理

将正则表达式匹配的所有实例提取为数组。

表达式类别: 正则, 字符串

输出类型: Array<String>

示例

描述: 从每个代码中提取前两个首字母。 参数值:

  • 表达式: MT-112, XB-967
  • : 1
  • 模式: (\w\w)(-)

输出: [ MT, XB ]

查看更多详细信息此处.


提取日期部分

支持于: 批处理, 流处理

提取日期的一部分,如年份或星期几。

表达式类别: 日期时间

输出类型: 整数

查看更多详细信息此处.


提取文档元数据

支持于: 批处理

从文档的媒体参考中提取元数据字段。

表达式类别: 媒体

输出类型: 结构

示例

参数值:

  • 要包括的文档元数据信息: [Document Author, Page Count, Document Title]
  • 媒体参考: Media Reference
Media Reference输出
{"mimeType":"application/pdf","reference":{"type":"mediaSetItem","mediaSetItem":{"mediaSetRid":"ri.mio.test.media-set.1","mediaItemRid":"ri.mio.test.media-item.1"}}}{
author: Jane Doe,
page_count: 23,
title: Document Title,
}

查看更多详细信息此处.


提取图像元数据

支持于: 批处理

从图像的媒体参考中提取元数据字段。

表达式类别: 媒体

输出类型: 结构

示例

参数值:

  • 要包括的图像元数据信息: [Attributes, Bands, Bytes, Dimensions, Format, Geographic Metadata, ICC Profile]
  • 媒体参考: Media Reference
Media Reference输出
{"mimeType":"image/tiff","reference":{"type":"mediaSetItem","mediaSetItem":{"mediaSetRid":"ri.mio.test.media-set.1","mediaItemRid":"ri.mio.test.media-item.1"}}}{
attributes: {
 outer_key1 -> {
 inner_key1 -> inner_value1,
},
...

查看更多详细信息此处.


提取映射键

支持于: 批处理, 流处理

将映射键作为数组返回。请注意,数组元素的顺序是不确定的。

表达式类别: 映射

类型变量界限: K 接受 AnyType

输出类型: Array<K>

示例

参数值:

  • 映射: flight_number
flight_number输出
{
 MT-111 -> 2,
 XB-134 -> 1,
}
[ XB-134, MT-111 ]

查看更多详细信息此处.


提取映射值

支持于: 批处理, 流处理

将映射值作为数组返回。请注意,数组元素的顺序是不确定的。

表达式类别: 映射

类型变量界限: V 接受 AnyType

输出类型: Array<V>

示例

参数值:

  • 映射: flight_number
flight_number输出
{
 MT-111 -> 2,
 XB-134 -> 1,
}
[ 1, 2 ]

查看更多详细信息此处.


从 PDF 提取文本

支持于: 批处理

从 PDF 文件中的页面提取原始文本。

表达式类别: 媒体

输出类型: Array<String>

示例

参数值:

  • 媒体参考: Media Reference
  • 结束页: End Page
  • 开始页: Start Page
Media ReferenceStart PageEnd Page输出
{"mimeType":"application/pdf","reference":{"type":"mediaSetItem","mediaSetItem":{"mediaSetRid":"ri.mio.test.media-set.1","mediaItemRid":"ri.mio.test.media-item.1"}}}12[ first page, second page ]

查看更多详细信息此处.


从 PDF 提取文本(使用 OCR)

支持于: 批处理

对媒体集中的 PDF 文件运行 OCR 以提取文本。

表达式类别: 媒体

输出类型: Array<String>

查看更多详细信息此处.


从图像中提取文本(使用 OCR)

支持于: 批处理

对媒体集中的图像文件运行 OCR 以提取文本。

表达式类别: 媒体

输出类型: 字符串

查看更多详细信息此处.


提取时间戳部分

支持于: 批处理, 流处理

提取时间戳的一部分,如年份或星期几。

表达式类别: 日期时间

输出类型: 整数

查看更多详细信息此处.


筛选数组元素

支持于: 批处理, 流处理

根据筛选表达式筛选数组。注意,数组索引从1开始。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 数组: array
  • 筛选表达式:
    isNotNull(
     expression: element,
    )
array输出
[ 2, 5, null, 11 ][ 2, 5, 11 ]

查看更多详细信息此处.


按几何类型筛选

支持于: 批处理, 流处理

将几何列中不是所提供的几何类型的值设为null。

表达式类别: 地理空间

输出类型: 几何

查看更多详细信息此处.


第一个非空值(合并)

支持于: 批处理, 流处理

选择输入中的第一个非空值。SQL中称为合并。

表达式类别: 数据准备

类型变量界限: T 接受 AnyType

输出类型: T

示例

参数值:

  • 表达式: [tail_number, airline]
  • 将空字符串视为空: null
tail_numberairline输出
XB-123nullXB-123
nullMTMT

查看更多详细信息此处.


向下取整

支持于: 批处理, 流处理

返回给定小数值的向下取整值。

表达式类别: 数值

输出类型: Decimal | Long

示例

参数值:

  • 表达式: 10.123

输出: 10

查看更多详细信息此处.


将日期格式化为字符串

支持于: 批处理, 流处理

根据 Java DateTimeFormatter 返回格式化的字符串。默认格式为 ISO8601。

表达式类别: 转换, 字符串

输出类型: 字符串

示例

参数值:

  • 日期: 2022-12-20
  • 格式: yy-MM-dd

输出: 22-12-20

查看更多详细信息此处.


格式化数字

支持于: 批处理

将数字格式化为特定的小数位数。

表达式类别: 转换, 数值, 字符串

输出类型: 字符串

示例

描述: 将数字格式化为2个小数位。 参数值:

  • 小数位数: 2
  • 数字: 1234.5678

输出: 1,234.57

查看更多详细信息此处.


格式化字符串

支持于: 批处理, 流处理

格式化字符串为printf样式。

表达式类别: 字符串

输出类型: 字符串

示例

参数值:

  • 格式参数: [argument1, argument2]
  • 格式字符串: Hello %s, my name is %s
argument1argument2输出
AliceBobHello Alice, my name is Bob
JaneJohnHello Jane, my name is John

查看更多详细信息此处.


将时间戳格式化为字符串

支持于: 批处理, 流处理

将时间戳格式化为字符串(默认情况下为ISO8601)。

表达式类别: 转换, 日期时间, 字符串

输出类型: 字符串

示例

参数值:

  • 时间戳: 2022-10-01T09:00:00Z
  • 格式: yyyy-MM-dd
  • 时区: null

输出: 2022-10-01

查看更多详细信息此处.


几何体是否相交

支持于: 批处理, 流处理

判断两个几何体是否相交。

表达式类别: 地理空间

输出类型: 布尔

示例

参数值:

  • 几何 a: geometry_a
  • 几何 b: geometry_b
geometry_ageometry_b输出
{"coordinates":[[[-112.94377956164206,34.81725414459382],[-112.94377956164206,30.006795384733323], [...{"coordinates":[[[-103.78627755867336,33.162750522563925],[-103.78627755867336,28.29724741894266],[-...true
{"coordinates":[[[0.3651446504365481,15.159518507965103],[0.3651446504365481,13.427462911044273],[3....{"coordinates":[[[5.656394524666183,13.405417496831944],[5.656394524666183,11.29869961209053],[8.551...false

查看更多详细信息此处.


三维仿射变换几何

支持于: 批处理, 流处理

对输入几何应用三维仿射变换。此变换发生在用户提供的投影坐标系中,并将结果投影回 WGS84。二维几何将在应用仿射变换之前将其 z 坐标设置为 0。返回的几何是三维的,对于每个坐标 [x,y,z],表示矩阵乘法 [[x0, x1, x2, x-offset], [y0, y1, y2, y-offset], [z0, z1, z2, z-offset], [0, 0, 0, 1]] * [x, y, z, 1],返回结果的前三个坐标。

表达式类别: 地理空间

输出类型: 几何

示例

参数值:

  • 几何列: geometry
  • 投影坐标系: EPSG:4326
  • X偏移: 0.0
  • X0: 0.0
  • X1: -1.0
  • X2: 0.0
  • Y偏移: 0.0
  • Y0: 1.0
  • Y1: 0.0
  • Y2: 0.0
  • Z偏移: 0.0
  • Z0: 0.0
  • Z1: 0.0
  • Z2: 0.0
geometry输出
{"type":"Polygon","coordinates":[[[0.0, 0.0],[1.0, 0.0],[1.0, 1.0],[0.0, 1.0],[0.0, 0.0]]]}{"type":"Polygon","coordinates":[[[0.0, 0.0, 0.0],[0.0, 1.0, 0.0],[-1.0, 1.0, 0.0],[-1.0, 0.0, 0.0],[0.0, 0.0, 0.0]]]}

查看更多详细信息此处.


几何数组(单一)合并

支持于: 批处理, 流处理

给定一个几何数组,将这些几何合并为一个几何,合并时不重叠。

表达式类别: 地理空间

类型变量界限: T 接受 几何

输出类型: T

示例

参数值:

  • 表达式: geometries
geometries输出
[ {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}, {"type":"Polygon","coordinates":[[[0.5,0.0],[1.5,0.0],[1.5,1.0],[0.5,1.0],[0.5,0.0]]]} ]{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[0.5,1.0],[1.0,1.0],[1.5,1.0],[1.5,0.0],[1.0,0.0],[0.5,0.0],[0.0,0.0]]]}
[ ]null
nullnull

查看更多详细信息此处.


几何数组线溶解

支持于: 批处理, 流式

给定一个几何数组,将这些几何组合成一个线性几何。溶解通过移除不必要的节点和连接可以组合的线字符串来简化输入的线字符串集。在溶解操作中将忽略Z坐标,但结果几何中的顶点将具有与输入点相同的Z坐标。

表达式类别: 地理空间

类型变量界限: T 接受 Geometry

输出类型: T

示例

参数值:

  • 表达式: geometries
geometries输出
[ {"type":"LineString","coordinates":[[0,0],[0,1],[1,1]]}, {"type":"LineString","coordinates":[[1,1]...{"type":"MultiLineString","coordinates":[[[5.0, 5.0],[4.0, 4.0],[3.0, 3.0],[2.0, 2.0],[1.0, 1.0],[0.0, 1.0],[0.0, 0.0]],[[7.0, 7.0], [6.0, 7.0], [6.0, 6.0]]]}
[ {"type":"LineString","coordinates":[[0,0,1],[0,1,1],[1,1,1]]}, {"type":"LineString","coordinates":[[1,1,1],[2,2,2]]}, {"type":"LineString","coordinates":[[1,1,2],[2,2,2],[3,3,3]]} ]{"type":"LineString","coordinates":[[0.0, 0.0, 1.0],[0.0, 1.0, 1.0],[1.0, 1.0, 1.0],[2.0, 2.0, 2.0],[3.0, 3.0, 3.0]]}

查看更多详情这里


几何缓冲区

支持于: 批处理, 流式

计算几何的缓冲区,支持正缓冲区和负缓冲区距离。返回表示该几何对象在给定距离内所有点的近似表示(对于负缓冲区,则是所有点减去在边界缓冲区距离内的点)。缓冲区会丢弃任何Z坐标,零/负距离的线和点的缓冲区将返回null。

表达式类别: 地理空间

输出类型: Geometry

示例

参数值:

  • 缓冲区距离: distance
  • 几何列: geometry
  • 投影坐标系统: EPSG:32618
  • 缓冲区端帽样式: ROUND
  • 缓冲区连接样式: ROUND
  • 每象限线段数: 8
  • 单面或双面: DOUBLE_SIDED
geometrydistance输出
{"type":"Point","coordinates":[-77.07368071728229,38.83040844313318]}10.0{"type":"Polygon","coordinates":[[[-77.07356558299462, 38.83041048767274],[-77.07356728534256, 38.83...
{"type":"LineString","coordinates":[[-77.07368071728229,38.83040844313318, 1],[-77.0725293738795,38.83042888342659, 1]]}10.0{"type":"Polygon","coordinates":[[[-77.07253198637027, 38.83051894052714],[-77.07250947453703, 38.83...
{"type":"Polygon","coordinates":[[[-77.07368071728229,38.83040844313318, 1],[-77.0725293738795,38.83...10.0{"type":"Polygon","coordinates":[[[-77.07379585155829, 38.83040639848026],[-77.07382199292853, 38.83...

查看更多详情这里


几何质心

支持于: 批处理, 流式

返回几何的质心或“质心”,使用球形近似地球。如果几何是混合维度的集合,只有最高维度的元素才会对质心有贡献(例如,在点、线和多边形的集合中,点和线将被忽略)。

表达式类别: 地理空间

输出类型: GeoPoint

查看更多详情这里


几何包含

支持于: 批处理, 流式

确定几何a是否包含几何b。位于多边形边界上的点或线不包含在另一个几何中。

表达式类别: 地理空间

输出类型: Boolean

示例

参数值:

  • 几何 a: geometry_a
  • 几何 b: geometry_b
geometry_ageometry_b输出
{"coordinates":[[[-112.94377956164206,34.81725414459382],[-112.94377956164206,30.006795384733323], [...{"type":"Point","coordinates":[-100.0,32.0]}true
{"coordinates":[[[-112.94377956164206,34.81725414459382],[-112.94377956164206,30.006795384733323], [...{"type":"LineString","coordinates":[[-112.94377956164206,34.81725414459382],[-112.94377956164206,30.006795384733323]]}false
{"type":"LineString","coordinates":[[-112.94377956164206,34.81725414459382],[-112.94377956164206,30.006795384733323]]}{"type":"Point","coordinates":[-112.94377956164206,34.81725414459382]}false
{"type":"Point","coordinates":[-112.94377956164206,34.81725414459382]}{"type":"Point","coordinates":[-112.94377956164206,34.81725414459382]}true
{"coordinates":[[[-112.94377956164206,34.81725414459382],[-112.94377956164206,30.006795384733323], [...{"coordinates":[[[-111.94377956164206,33.81725414459382],[-111.94377956164206,31.006795384733323], [...true

查看更多详情这里


几何差异

支持于: 批处理, 流式

计算几何a中不与几何b相交的部分。

表达式类别: 地理空间

输出类型: Geometry

示例

参数值:

  • 几何 a: geometry_a
  • 几何 b: geometry_b
geometry_ageometry_b输出
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}{"type":"Polygon","coordinates":[[[0.25,0.25],[0.5,0.25],[0.5,0.5],[0.25,0.5],[0.25,0.25]]]}{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]],[[0.25,0.25],[0.5,0.25],[0.5,0.5],[0.25,0.5],[0.25,0.25]]]}
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}{"type":"Polygon","coordinates":[[[0.0,0.0],[0.5,0.0],[0.5,1.0],[0.0,1.0],[0.0,0.0]]]}{"type":"Polygon","coordinates":[[[0.5,1.0],[1.0,1.0],[1.0,0.0],[0.5,0.0],[0.5,1.0]]]}
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}{"type":"Polygon","coordinates":[[[5.0,5.0],[5.0,6.0],[6.0,6.0],[6.0,5.0],[5.0,5.0]]]}{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}{"type":"LineString","coordinates":[[0.0,0.0],[0.0,1.0]]}{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}

查看更多详情这里


几何爆炸成数组

支持于: 批处理, 流式

将几何转换为其组成的简单几何数组。

表达式类别: 地理空间

输出类型: Array<Geometry>

示例

参数值:

  • 表达式: geometry
geometry输出
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}[ {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]} ]
{"type":"MultiPolygon","coordinates":[[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]],[[[5.0,5.0],[5.0,6.0],[6.0,6.0],[6.0,5.0],[5.0,5.0]]]]}[ {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}, {"type":"Polygon","coordinates":[[[5.0,5.0],[5.0,6.0],[6.0,6.0],[6.0,5.0],[5.0,5.0]]]} ]

查看更多详情这里


几何交集

支持于: 批处理, 流式

计算几何a与几何b相交的部分。

表达式类别: 地理空间

输出类型: Geometry

示例

参数值:

  • 几何 a: geometry_a
  • 几何 b: geometry_b
geometry_ageometry_b输出
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}{"type":"Polygon","coordinates":[[[0.5,0.0],[1.5,0.0],[1.5,1.0],[0.5,1.0],[0.5,0.0]]]}{"type":"Polygon","coordinates":[[[0.5,1.0],[1.0,1.0],[1.0,0.0],[0.5,0.0],[0.5,1.0]]]}
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}{"type":"Polygon","coordinates":[[[5.0,5.0],[5.0,6.0],[6.0,6.0],[6.0,5.0],[5.0,5.0]]]}{"type":"Polygon","coordinates":[[]]}
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}{"type":"Polygon","coordinates":[[[1.0,0.0],[1.0,1.0],[2.0,1.0],[2.0,0.0],[1.0,0.0]]]}{"type":"LineString","coordinates":[[1.0,1.0],[1.0,0.0]]}
{"type":"Point","coordinates":[0.0,0.0]}{"type":"LineString","coordinates":[[0.0,0.0],[1.0,0.0]]}{"type":"Point","coordinates":[0.0,0.0]}
{"type":"LineString","coordinates":[[0.0,0.0],[1.0,0.0]]}{"type":"Polygon","coordinates":[[[2.0,0.0],[2.0,1.0],[3.0,1.0],[3.0,0.0],[2.0,0.0]]]}{"type":"LineString","coordinates":[]}

查看更多详情这里


几何长度

支持于: 批处理, 流式

获取几何中线字符串和多线字符串的长度,以米为单位。使用球形近似地球。非线性几何(多边形和点)计为0。

表达式类别: 地理空间

输出类型: Double

示例

参数值:

  • 表达式: geometry
geometry输出
{"type":"LineString","coordinates":[[-73.778128,40.641195],[-118.408535,33.941563]]}3974344.7433354934
{"type":"LineString","coordinates":[[0.0,0.0],[1.0,0.0],[1.0,1.0],[1.0,2.0]]}333585.2407005987
{"type":"MultiLineString","coordinates":[[[0.0,0.0],[1.0,0.0],[1.0,1.0]], [[1.0,2.0],[2.0,2.0]]]}333517.50194413937

查看更多详情这里


几何旋转2D

支持于: 流式

对提供的几何应用二维顺时针旋转,以提供的GeoPoint为中心。此旋转在提供的坐标参考系统中进行,然后投影回WGS84。

表达式类别: 地理空间

输出类型: Geometry

查看更多详情这里


设置几何Z坐标

支持于: 批处理, 流式

设置几何的Z坐标。如果几何已有Z坐标,则将被覆盖。

表达式类别: 地理空间

输出类型: Geometry

示例

参数值:

  • 几何: geometry
  • Z 坐标: zCoordinate
geometryzCoordinate输出
{"type":"Point","coordinates":[1.0, 2.0]}1.0{"type":"Point","coordinates":[1.0, 2.0, 1.0]}
{"type":"Point","coordinates":[1.0, 2.0, 3.0]}1.0{"type":"Point","coordinates":[1.0, 2.0, 1.0]}

查看更多详情这里


几何最短距离

支持于: 批处理, 流式

给定两个有效的几何,计算它们之间的最短(大圆)距离,以米为单位。使用球形近似地球。重叠几何的距离为零。

表达式类别: 地理空间

输出类型: Double

查看更多详情[这里](../pb-functions-expression/geometryShortestDistanceV1.md

示例

参数值:

  • 表达式: mgrs
mgrs输出
4Q FJ 1 6true
4Q FJ 12345 67890true

查看更多详情 here.


是否有效 MIME 类型

支持于: 批处理, 流处理

如果输入是有效的 MIME 类型,则返回 true。

表达式类别: 布尔, 其他

输出类型: 布尔

查看更多详情 here.


是否有效 Ontology GeoPoint

支持于: 批处理, 流处理

如果输入是有效的 Ontology GeoPoint,则返回 true。Ontology GeoPoints 是格式为 '{lat},{lon}' 的字符串,其中 -90 <= lat <= 90 和 -180 <= lon <= 180。

表达式类别: 地理空间

输出类型: 布尔

示例

参数值:

  • 表达式: geopoint
geopoint输出
-35.307428203,149.122686883true
149.122686883,-35.307428203false
10.0, 20.0true
10.0, 20.0true
不是 GeoPointfalse
nullfalse
(10.0,20.0)false

查看更多详情 here.


是否有效委托媒体 gid

支持于: 批处理, 流处理

如果输入是有效的 gotham 委托媒体 gid,则返回 true。查看 gotham 的委托媒体 rtfm 获取更多详情。

表达式类别: 布尔

输出类型: 布尔

示例

参数值:

  • 表达式: ri.gotham-delegated-media.12345678-1234-1234-1234-123456789012.testaudiotype.testlocator

输出: true

查看更多详情 here.


是否有效媒体引用

支持于: 批处理, 流处理

如果输入是有效的 Foundry 媒体引用,则返回 true。

表达式类别: 布尔

输出类型: 布尔

查看更多详情 here.


是否有效 rid

支持于: 批处理, 流处理

如果输入是有效的 Foundry 资源标识符,则返回 true。

表达式类别: 布尔

输出类型: 布尔

查看更多详情 here.


是否有效 uuid

支持于: 批处理, 流处理

如果输入是有效的 uuid,则返回 true。

表达式类别: 布尔

输出类型: 布尔

查看更多详情 here.


合并数组

支持于: 批处理, 流处理

使用指定的分隔符合并数组。

表达式类别: 数组

输出类型: 字符串

示例

参数值:

  • 要合并的数组: [ hello, world ]
  • 分隔符: -

输出: hello-world

查看更多详情 here.


周/月/季度/年的最后一天

支持于: 批处理

返回周/月/季度/年的最后一天。

表达式类别: 日期时间

输出类型: 日期

查看更多详情 here.


最小值

支持于: 批处理, 流处理

计算所有输入列中最小的值,跳过 null 值。

表达式类别: 布尔, 数值

类型变量边界: T 接受 ComparableType

输出类型: T

示例

参数值:

  • 表达式: [a, b, c]
abc输出
1231
1321
3211

查看更多详情 here.


字符串左侧

支持于: 批处理, 流处理

基于索引提取字符串的左侧。

表达式类别: 字符串

输出类型: 字符串

示例

参数值:

  • 表达式: Hello world!
  • 长度: 5

输出: Hello

查看更多详情 here.


左填充字符串

支持于: 批处理, 流处理

将字符串列左填充到指定长度,使用指定的填充值。

表达式类别: 字符串

输出类型: 字符串

示例

参数值:

  • 表达式: Hello world!
  • 长度: 15
  • 填充值: *

输出: ***Hello world!

查看更多详情 here.


长度

支持于: 批处理, 流处理

返回字符串列或数组列中每个值的长度。

表达式类别: 数组, 数值

输出类型: 整数

示例

参数值:

  • 表达式: string
string输出
hello5
bye3

查看更多详情 here.


小于

支持于: 批处理, 流处理

如果左侧小于右侧,则返回 true。

表达式类别: 布尔

输出类型: 布尔

示例

参数值:

  • 左侧: left
  • 右侧: right
leftright输出
1.010true
10.01false

查看更多详情 here.


小于或等于

支持于: 批处理, 流处理

如果左侧小于或等于右侧,则返回 true。

表达式类别: 布尔

输出类型: 布尔

示例

参数值:

  • 左侧: a
  • 右侧: b
ab输出
10false
11true
01true

查看更多详情 here.


莱文斯坦距离

支持于: 批处理, 流处理

计算两个字符串之间的莱文斯坦距离。

表达式类别: 字符串

输出类型: 整数

示例

参数值:

  • 忽略大小写: false
  • 左侧: left
  • 右侧: right
leftright输出
hellohello0
hallohello1
hellohEllO2
hellohello, world!8
hellofarewell6

查看更多详情 here.


对数

支持于: 批处理, 流处理

计算列的自然对数,ln(x)。

表达式类别: 数值

输出类型: 双精度

示例

参数值:

  • 表达式: 10.123

输出: 2.3148100626166146

查看更多详情 here.


指定底数的对数

支持于: 批处理, 流处理

计算指定底数的对数。

表达式类别: 数值

输出类型: 双精度

示例

参数值:

  • 底数: 2.0
  • 表达式: 8

输出: 3.0

查看更多详情 here.


逻辑类型转换

支持于: 批处理, 流处理

将表达式转换为给定的逻辑类型。与常规转换表达式不同,此表达式不会更改数据的底层基本表示,而是强制执行与指定逻辑类型关联的约束,以便输出可以用作下游表达式的输入,这些表达式特别需要该逻辑类型的实例。

表达式类别: 转换

类型变量边界: C 接受 AnyType

输出类型: C

示例

描述: 成功转换为自然数 参数值:

  • 表达式: 1234
  • 逻辑类型: 自然数
  • 默认值: null

输出: 1234

查看更多详情 here.


小写

支持于: 批处理, 流处理

将字符串中的所有字符转换为小写。

表达式类别: 字符串

输出类型: 字符串

示例

参数值:

  • 表达式: Hello World

输出: hello world

查看更多详情 here.


映射值

支持于: 批处理, 流处理

将列中的一组值映射为新值。

表达式类别: 数据准备

类型变量边界: T1 接受 ComparableType**T2 接受 AnyType

输出类型: T2

示例

参数值:

  • 默认值: null
  • 输入: country
  • 值映射: {
     Denmark -> DNK,
     United Kingdom -> UK,
    }
country输出
United KingdomUK
DenmarkDNK
United States of Americanull

查看更多详情 here.


取模

支持于: 批处理, 流处理

返回表达式的模。

表达式类别: 数值

输出类型: 确定数值

示例

参数值:

  • 分母: 4
  • 分子: 10.123

输出: 2.123

查看更多详情 here.


数字乘积

支持于: 批处理, 流处理

计算所有输入列的乘积。

表达式类别: 数值

输出类型: 数值

示例

参数值:

  • 表达式: [col_a, col_b, col_c]
col_acol_bcol_c输出
102360

查看更多详情 here.


取反

支持于: 批处理, 流处理

表达式类别: 数值

输出类型: 数值

查看更多详情 here.


正态随机数

支持于: 批处理, 流处理

返回均值为零、方差为一的正态分布随机数列。这不是确定性的,即使使用相同的种子,重复搭建时也不会生成相同的结果。

表达式类别: 数值

输出类型: 双精度

查看更多详情 here.


支持于: 批处理, 流处理

返回布尔表达式的取反值。

表达式类别: 布尔

输出类型: 布尔

示例

参数值:

  • 表达式: boolean
boolean输出
truefalse
falsetrue

查看更多详情 here.


多边形中的第 N 个环

支持于: 批处理, 流处理

返回几何图形中的单个多边形的第 N 个环。索引是从 1 开始的,索引为 0 超出范围。索引等于 1 返回外部环。索引大于 1 返回内部环。对于以下任一情况,返回 null:几何图形不是单个多边形,提供了要素集合或几何集合,索引超出范围,或至少一个参数为 null。

表达式类别: 地理空间

输出类型: 几何

示例

参数值:

  • N: n
  • 多边形: polygon
polygonn输出
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}1{"coordinates": [[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]], "type": "LineString"}
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}2null
{"coordinates":[[[60.0,60.0],[50.0,60.0],[50.0,50.0],[60.0,50.0],[60.0,60.0]],[[57.0,57.0],[55.0,52.0],[52.0,52.0],[50.0,57.0],[57.0,57.0]]],"type":"Polygon"}1{"coordinates": [[60.0,60.0],[50.0,60.0],[50.0,50.0],[60.0,50.0],[60.0,60.0]], "type": "LineString"}
{"coordinates":[[[60.0,60.0],[50.0,60.0],[50.0,50.0],[60.0,50.0],[60.0,60.0]],[[57.0,57.0],[55.0,52.0],[52.0,52.0],[50.0,57.0],[57.0,57.0]]],"type":"Polygon"}2{"coordinates": [[57.0,57.0],[55.0,52.0],[52.0,52.0],[50.0,57.0],[57.0,57.0]], "type": "LineString"}

查看更多详情 here.


线串中的第 N 个点

支持于: 批处理, 流处理

返回几何图形中的单个线串的第 N 个点。索引是从 1 开始的,索引为 0 超出范围。负索引从线串的末尾向后计数,因此 -1 是最后一个点。对于以下任一情况,返回 null:几何图形不是单个线串,提供了要素集合或几何集合,索引超出范围,或至少一个参数为 null。

表达式类别: 地理空间

输出类型: GeoPoint

示例

参数值:

  • 线串: linestring
  • N: n
linestringn输出
{"type":"LineString","coordinates":[[30.0,2.0],[35.0,0.0],[50.0,3.0]]}1{
latitude: 2.0,
longitude: 30.0,
}
{"type":"LineString","coordinates":[[30.0,2.0],[35.0,0.0],[50.0,3.0]]}3{
latitude: 3.0,
longitude: 50.0,
}
{"type":"LineString","coordinates":[[45.0,9.0],[90.0,4.0],[40.0,0.0]]}-1{
latitude: 0.0,
longitude: 40.0,
}

查看更多详情 here.


将空字符串转换为 null

支持于: 批处理, 流处理

将空字符串转换为 null。

表达式类别: 字符串

输出类型: 字符串

示例

参数值:

  • 表达式: 空字符串

输出: null

查看更多详情 here.


支持于: 批

示例

参数值:

  • 几何图形: Geometry
  • 容差: Tolerance
  • 坐标精度: null
几何图形容差输出
{"type":"LineString","coordinates":[[30.0,0.0],[35.0,0.0],[40.0,0.0]]}1000{"type":"LineString","coordinates":[[30.0,0.0],[40.0,0.0]]}
{"type":"Polygon","coordinates":[[[-1.0,-1.0],[1.0,-1.0],[1.0,1.0],[0.0,1.0],[-1.0,1.0],[-1.0,-1.0]]]}12000{"type":"Polygon","coordinates":[[[-1.0,1.0],[1.0,1.0],[1.0,-1.0],[-1.0,-1.0],[-1.0,1.0]]]}
{"type":"MultiLineString","coordinates":[[[0.0,0.0],[5.0,0.1],[10.0,0.0]], [[0.0,-5.0],[5.0,0.1],[10.0,5.0]]]}12000{"type":"MultiLineString","coordinates":[[[0.0,0.0],[10.0,0.0]],[[0.0,-5.0],[10.0,5.0]]]}
{"type":"MultiPolygon","coordinates":[[[[-2.0,-2.0],[2.0,-2.0],[2.0,2.0],[0.0,2.1],[-2.0,2.0],[-2.0,...12000{"type":"MultiPolygon","coordinates":[[[[-2.0,2.0],[2.0,2.0],[2.0,-2.0],[-2.0,-2.0],[-2.0,2.0]], [[1...

查看更多详情这里


正弦

支持于: 批处理, 流处理

求一个角度的正弦值。

表达式类别: 数值

输出类型: Double

示例

参数值:

  • 角度单位: degrees
  • 角度值: angle
angle输出
0.00.0
90.01.0
180.00.0

查看更多详情这里


跳过字节

支持于: 批处理, 流处理

在二进制列中跳过给定数量的字节。

表达式类别: 二进制

输出类型: Binary

示例

参数值:

  • 字节: aGk=
  • 要跳过的字节数: 1

输出: aQ==

查看更多详情这里


数组切片

支持于: 批处理, 流处理

返回从第一个位置到第二个位置的数组切片。第一个位置必须为1或更高。如果第二个位置长于数组,则返回数组的其余部分。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

查看更多详情这里


拆分字符串

支持于: 批处理, 流处理

根据指定的正则表达式模式拆分字符串。

表达式类别: 字符串

输出类型: Array<String>

示例

参数值:

  • 表达式: string
  • 模式:
  • 限制: 2
string输出
hello[ hello ]
hello world[ hello, world ]
hello there world[ hello, there world ]

查看更多详情这里


平方根

支持于: 批处理, 流处理

计算列的平方根。

表达式类别: 数值

输出类型: Double

示例

参数值:

  • 表达式: 9.0

输出: 3.0

查看更多详情这里


以...开始

支持于: 批处理, 流处理

表达式类别: 布尔, 字符串

输出类型: Boolean

示例

参数值:

  • 表达式: Hello world
  • 忽略大小写: true
  • : hello

输出: true

查看更多详情这里


分隔符后的字符串

支持于: 批处理, 流处理

提取第一个分隔符后的字符串。如果未找到匹配项,则返回完整字符串。

表达式类别: 字符串

输出类型: String

示例

参数值:

  • 分隔符: hello
  • 表达式: ... Hello world
  • 忽略大小写: true

输出: world

查看更多详情这里


分隔符前的字符串

支持于: 批处理, 流处理

提取第一个分隔符前的字符串。如果未找到匹配项,则返回完整字符串。

表达式类别: 字符串

输出类型: String

示例

参数值:

  • 分隔符: hello
  • 表达式: ... Hello world
  • 忽略大小写: true

输出: ...

查看更多详情这里


字符串包含

支持于: 批处理, 流处理

表达式类别: 布尔, 字符串

输出类型: Boolean

示例

参数值:

  • 表达式: ... Hello world
  • 忽略大小写: true
  • : hello

输出: true

查看更多详情这里


子字符串

支持于: 批处理, 流处理

提取子字符串。

表达式类别: 数值

输出类型: String

示例

参数值:

  • 表达式: string
  • 起始: start
  • 长度: length
stringstartlength输出
hello, world15hello
hello, world85world
hello, world-55world

查看更多详情这里


减去多个表达式

支持于: 批处理, 流处理

计算一个数字与所有输入列之间的差值。

表达式类别: 数值

输出类型: Numeric

示例

参数值:

  • 表达式列表: [col_b, col_c]
  • 要减去的值: col_a
col_acol_bcol_c输出
5320
240-2
-2-4-24

查看更多详情这里


减去数字

支持于: 批处理, 流处理

从一个数字中减去另一个数字。

表达式类别: 数值

输出类型: Numeric

示例

参数值:

  • 左侧: col_a
  • 右侧: col_b
col_acol_b输出
32428
-5-3-2

查看更多详情这里


减去时间戳/日期

支持于: 批处理, 流处理

返回给定时间单位的差值。

表达式类别: 日期时间

输出类型: Long

示例

参数值:

  • 结束: 2022-10-01T10:00:00Z
  • 开始: 2022-10-01T09:00:00Z
  • 单位: HOURS

输出: 1

查看更多详情这里


从日期中减去值

支持于: 批处理, 流处理

返回在“start”之前“value”天/周/月/季度/年的日期。

表达式类别: 日期时间

输出类型: Date

示例

参数值:

  • 日期: 2022-04-05
  • 单位: DAYS
  • : 2

输出: 2022-04-03

查看更多详情这里


数组元素之和

支持于: 批处理, 流处理

对数组中的元素求和。

表达式类别: 数组

类型变量界限: T 接受 DefiniteNumeric

输出类型: T

示例

参数值:

  • 表达式: [ 1, 2, 3 ]
  • 将null视为零。: true

输出: 6

查看更多详情这里


正切

支持于: 批处理, 流处理

求一个角度的正切值。

表达式类别: 数值

输出类型: Double

示例

参数值:

  • 角度单位: degrees
  • 角度值: angle
angle输出
0.00.0
90.01.633123935319537E16
180.00.0

查看更多详情这里


文本分割

支持于: 批处理, 流处理

使用滑动窗口分割提取一系列文本段。

表达式类别: 字符串

输出类型: Array<String>

查看更多详情这里


文本转嵌入

支持于: 批处理

将文本转换为嵌入。

表达式类别: 字符串

输出类型: 嵌入向量

示例

描述: 单词“palantir”的嵌入示例。 参数值:

  • 模型:
    ada002Embedding(

    )
  • 文本列: text
  • 输出模式: null
text输出
palantir[ -0.019182289, -0.02127992, 0.009529043, -0.008066221, -0.0014429842, 0.019154688, -0.023556953, -0...

查看更多详情这里


时间戳添加

支持于: 批处理, 流处理

在指定单位中将值添加到时间戳。

表达式类别: 日期时间

输出类型: Timestamp

示例

参数值:

  • 时间戳: 2022-02-01T00:00:00Z
  • 单位: MILLISECONDS
  • 要添加的值: 2

输出: 2022-02-01T00:00:00.002Z

查看更多详情这里


时间戳序列

支持于: 批处理

创建一个从开始到结束范围内的时间戳数组。

表达式类别: 日期时间

输出类型: Array<Timestamp>

示例

参数值:

  • 结束时间: end_time
  • 开始时间: start_time
  • 步长单位: DAYS
  • 步长大小: 1.0
start_timeend_time输出
2023-01-01T00:00:00Z2023-01-03T00:00:00Z[ 2023-01-01T00:00:00Z, 2023-01-02T00:00:00Z, 2023-01-03T00:00:00Z ]
2023-01-01T01:50:00Z2023-01-03T00:00:00Z[ 2023-01-01T01:50:00Z, 2023-01-02T01:50:00Z ]

查看更多详情这里


时间戳减去

支持于: 批处理, 流处理

在指定单位中从时间戳中减去值。

表达式类别: 日期时间

输出类型: Timestamp

示例

参数值:

  • 时间戳: 2022-02-02T00:00:00Z
  • 单位: MILLISECONDS
  • 要减去的值: 2

输出: 2022-02-01T23:59:59.998Z

查看更多详情这里


时间戳转换为纪元毫秒

支持于: 批处理, 流处理

将UTC时间戳转换为纪元毫秒。

表达式类别: 转换, 日期时间

输出类型: Long

示例

参数值:

  • 时间戳: 2022-10-01T09:00:00Z

输出: 1664614800000

查看更多详情这里


时间戳转换为纪元秒

支持于: 批处理, 流处理

将UTC时间戳转换为纪元秒。

表达式类别: 转换, 日期时间

输出类型: Long

示例

参数值:

  • 时间戳: 2022-10-01T09:00:00Z

输出: 1664614800

查看更多详情这里


标题大小写

支持于: 批处理, 流处理

将每个单词的第一个字符转换为大写,其他字符转换为小写。

表达式类别: 字符串

输出类型: String

示例

参数值:

  • 表达式: hello world

输出: Hello World

查看更多详情这里


使用CPU将音频转录为json

支持于: 批处理

使用CPU将音频文件转录为json。

表达式类别: 媒体

输出类型: String

查看更多详情这里


使用GPU将音频转录为json

支持于: 批处理

使用GPU将音频文件转录为json。

表达式类别: 媒体

输出类型: String

查看更多详情这里


将音频转录为文本

支持于: 批处理

将音频文件转录为文本。

表达式类别: 媒体

输出类型: String | Struct<ok, error>

查看更多详情这里


变换数组元素

支持于: 批处理, 流处理

使用表达式映射数组中的每个元素。注意,数组索引从1开始。

表达式类别: 数组

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 数组: flight_number
  • 要应用的表达式。:
    stringBeforeDelimiter(
     delimiter: -,
     expression: element,
     ignoreCase: false,
    )
flight_number输出
[ XB-134, MT-111 ][ XB, MT ]

查看更多详情这里


变换映射键

支持于: 批处理, 流处理

通过将表达式应用于每个键值对来变换映射的键。

表达式类别: 映射

类型变量界限: K 接受 AnyType**V 接受 AnyType

输出类型: Map<K, V>

示例

参数值:

  • 要应用的表达式。:
    stringBeforeDelimiter(
     delimiter: -,
     expression: key,
     ignoreCase: false,
    )
  • 映射: flight_number
flight_number输出
{
 MT-111 -> 2,
 XB-134 -> 1,
}
{
 MT -> 2,
 XB -> 1,
}

查看更多详情这里


变换映射值

支持于: 批处理

通过将表达式应用于每个键值对来变换映射的值。

表达式类别: 映射

类型变量界限: K 接受 AnyType**V 接受 AnyType

输出类型: Map<K, V>

示例

参数值:

  • 要应用的表达式。:
    stringBeforeDelimiter(
     delimiter: -,
     expression: value,
     ignoreCase: false,
    )
  • 映射: flight_number
flight_number输出
{
 1 -> XB-134,
 2 -> MT-111,
}
{
 1 -> XB,
 2 -> MT,
}

查看更多详情这里


修剪空格

支持于: 批处理, 流处理

修剪字符串开头和结尾的空格。空格定义为以下任意一个字符:1) Unicode的\p{whitespace}集合,2) Java的String#trim()方法,或3) Java的Character#isWhitespace()方法。

表达式类别: 数据准备, 字符串

输出类型: String

示例

参数值:

  • 表达式: hello world

输出: hello world

查看更多详情这里


截断日期

支持于: 批处理

返回向下舍入到最近的天/周/月/季度/年的日期。

表达式类别: 日期时间

输出类型: Date

查看更多详情这里


截断时间戳

支持于: 批处理

返回截断到指定单位的时间戳。

表达式类别: 日期时间

输出类型: Timestamp

示例

参数值:

  • 开始: 2022-02-01T10:10:10.0022Z
  • 单位: MILLISECONDS

输出: 2022-02-01T10:10:10.002Z

查看更多详情这里


解压H3索引集合

支持于: 批处理, 流处理

将H3索引解压到指定的分辨率。所有输入索引必须小于或等于请求的分辨率,否则此变换将返回null。如果任何输入索引无效,此变换将返回null。输出索引按升序排序。

表达式类别: 地理空间

输出类型: Array<H3 Index>

查看更多详情这里


Unicode标准化

支持于: 批处理, 流处理

根据Unicode标准附录#15执行Unicode标准化。

表达式类别: 数据准备, 字符串

输出类型: String

示例

参数值:

  • 表达式: string
  • 标准化形式: nfkc
string输出
123123
イナゴイナゴ

查看更多详情这里


均匀随机数

支持于: 批处理, 流处理

返回一个从0到1之间均匀分布的随机数列。这不是确定性的,即使使用种子,也不会在重复搭建时产生相同的结果。

表达式类别: 数值

输出类型: Double

查看更多详情这里


全局唯一标识符(uuid)(不稳定)

支持于: 批处理, 流处理

返回一个uuid列。这不是确定性的,即使在重复搭建时也不会产生相同的结果。这不是搭建id列的首选方法,用户应考虑sha256或其他确定性方法。

表达式类别: 字符串

输出类型: String

查看更多详情这里


转为大写

支持于: 批处理, 流处理

将字符串中的所有字符转换为大写。

表达式类别: 字符串

输出类型: String

示例

参数值:

  • 表达式: hello World

输出: HELLO WORLD

查看更多详情这里


URL解码

支持于: 批处理, 流处理

将百分比编码的字符串解码为纯文本。

表达式类别: 转换, 字符串

输出类型: String

示例

参数值:

  • 表达式: string
string输出
raw_string_with_no_special_charactersraw_string_with_no_special_characters
test%2Fapi%3Fstring%3D3test/api?string=3

查看更多详情这里


URL编码

支持于: 批处理, 流处理

对字符串进行百分比编码以便在URL中发送。

表达式类别: 字符串

输出类型: String

示例

参数值:

  • 表达式: string
string输出
raw_string_with_no_special_charactersraw_string_with_no_special_characters
test/api?string=3test%2Fapi%3Fstring%3D3

查看更多详情这里


使用LLM

支持于: 批处理

使用可配置提示调用LLM。

表达式类别: 字符串

输出类型: Array<AnyType> | Boolean | Date | Decimal | Double | Float | Integer | Long | Short | String | Struct | Struct<ok<AnyType> | Boolean | Date | Decimal | Double | Float | Integer | Long | Short | String | Struct | Timestamp, error> | Timestamp

示例

参数值:

  • 模型:
    gpt4ChatModel(
     temperature: 0.0,
    )
  • 提示: prompt
  • 输出模式: null
  • 输出类型: null
  • 系统提示: 在一个食品配送应用中,您的任务是对以下用户提示中给出的评论进行评分...
prompt输出
The food was great!5

查看更多详情这里


从映射中获取值

支持于: 批处理, 流处理

使用键从映射中获取值。

表达式类别: 映射

类型变量界限: K 接受 ComparableType**V 接受 AnyType

输出类型: V

示例

参数值:

  • : Foo
  • 映射: {
     Bar -> World,
     Foo -> Hello,
    }

输出: Hello

查看更多详情这里


聚合表达式


全部

支持于: 批处理

计算聚合的布尔“与”。Null被视为false。

表达式类别: 聚合

输出类型: Boolean

示例

参数值:

  • 表达式: values

给定输入表:

values
true
false
true

输出: false

查看更多详情这里


任一

支持于: 批处理

计算聚合的布尔“或”。Null被视为false。

表达式类别: 聚合

输出类型: Boolean

示例

参数值:

  • 表达式: values

给定输入表:

values
true
false
true

输出: true

查看更多详情这里


近似中位数

支持于: 批处理

计算列中值的近似中位数。

表达式类别: 聚合

输出类型: Numeric

示例

参数值:

  • 表达式: values

给定输入表:

values
2
4
3

输出: 3

查看更多详情这里


近似百分位数

支持于: 批处理

返回表达式的近似百分位数,这是有序表达式值中(按从小到大排序)最小的值,使得不超过百分比的表达式值小于或等于该值。

表达式类别: 聚合

输出类型: Array<Numeric> | Byte | Decimal | Double | Float | Integer | Long | Short

示例

参数值:

  • 表达式: values
  • 百分位数: [0.5]
  • 精度: null

给定输入表:

values
2
4
3

输出: 3

查看更多详情这里


收集数组

支持于: 批处理, 流处理

在每个组内收集一个值数组。忽略Null值。

表达式类别: 聚合

类型变量界限: T 接受 AnyType

输出类型: Array<T>

示例

参数值:

  • 表达式: factor

给定输入表:

factor
2
2
3

输出: [ 2, 2, 3 ]

查看更多详情这里


收集不同数组

支持于: 批处理, 流处理

在每个组内收集一个去重值数组。忽略Null值。

表达式类别: 聚合

类型变量界限: T 接受 ComparableType

输出类型: Array<T>

示例

参数值:

  • 表达式: factor

给定输入表:

factor
2
2
3

输出: [ 2, 3 ]

查看更多详情这里


协方差

支持于: 批处理, 流处理

计算两个列中值的总体协方差。

表达式类别: 聚合

输出类型: Double

示例

参数值:

  • 左侧: left
  • 右侧: right

给定输入表:

leftright
15
24
33
42
51

输出: -2.0

查看更多详情这里


从有序GeoPoint行创建简单几何图形

支持于: 批处理

给定GeoPoints列和排序,返回通过按指定顺序连接GeoPoints得到的多边形或线字符串。此函数假定数据是表格形式的,单行表示线字符串或多边形壳中的单个GeoPoint,以及一个指定这些点顺序的列。对于多边形,这种排序应标识沿着壳逆时针移动的点。给定这些点的排序和分区(分组),函数通过按order-by列的升序顺序连接GeoPoints来构建所需的分区几何图形。

表达式类别: 地理空间

输出类型: Geometry

示例

参数值:

  • GeoPoint: geo_point
  • 按顺序排序(升序): order
  • 输出几何类型: LINE_STRING

给定输入表:

geo_pointorder
{
 latitude -> 0.0,
 longitude -> 0.0,
}
0
{
 latitude -> 1.0,
 longitude -> 0.0,
}
1
{
 latitude -> 1.0,
 longitude -> 1.0,
}
2

输出: {"type":"LineString","coordinates": [[0.0,0.0],[0.0, 1.0],[1.0,1.0]]}

查看更多详情这里


密集排名

支持于: 批处理

返回窗口分区内行的排名,没有任何间隙。在平局情况下,行获得相同的排名。排名和密集排名之间的区别在于密集排名在有平局时不会在排名序列中留下空隙。

表达式类别: 聚合

输出类型: Integer

查看更多详情这里


不同计数

支持于: 批处理, 流处理

计算列中不同值的数量。

表达式类别: 聚合

输出类型: Long

示例

参数值:

  • 表达式: values

给定输入表:

values
2
4
3

输出: 3

查看更多详情这里


第一个

支持于: 批处理

组中的第一个项目。注意,如果在聚合或无序窗口中使用,选择的行将是非确定性的。

表达式类别: 聚合

类型变量界限: T 接受 AnyType

输出类型: T

示例

参数值:

  • 表达式: values
  • 忽略nulls: false

给定输入表:

values
2
4
3

输出: 2

查看更多详情这里


分组几何信封

支持于: 批处理

返回给定列中所有有效几何的信封。无效几何被视为null并被忽略。

表达式类别: 地理空间

输出类型: Geometry

示例

参数值:

  • 表达式: geometry

给定输入表:

geometry
{"type":"LineString","coordinates":[[1,0],[0,8.4]]}
{"type":"Point","coordinates":[125.6, -92.3]}
{"type":"Polygon","coordinates":[[[0,0],[1,6.3],[-6,1],[0,0]]]}

输出: {"type":"Polygon","coordinates":[[[-6.0,-92.3],[-6.0,8.4],[125.6,8.4],[125.6,-92.3],[-6.0,-92.3]]]}

查看更多详情这里


分组几何联合

支持于: 批处理

结合分组的几何以创建单个几何。

表达式类别: 地理空间

输出类型: Geometry

示例

参数值:

  • 表达式: geometry

给定输入表:

geometry
{"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[1.0,1.0],[1.0,0.0],[0.0,0.0]]]}
{"type":"Polygon","coordinates":[[[0.5,0.0],[1.5,0.0],[1.5,1.0],[0.5,1.0],[0.5,0.0]]]}

输出: {"type":"Polygon","coordinates":[[[0.0,0.0],[0.0,1.0],[0.5,1.0],[1.0,1.0],[1.5,1.0],[1.5,0.0],[1.0,0.0],[0.5,0.0],[0.0,0.0]]]}

查看更多详情这里


分组纬度/经度边界框

支持于: 批处理

返回一个结构,其中包含给定列中所有有效几何的整个边界框。无效几何被视为null并被忽略。

表达式类别: 地理空间

输出类型: LatLonBoundingBox

示例

参数值:

  • 表达式: geometry

给定输入表:

geometry
{"type":"LineString","coordinates":[[1,0],[0,8.4]]}
{"type":"Point","coordinates":[125.6, -92.3]}
{"type":"Polygon","coordinates":[[[0,0],[1,6.3],[-6,1],[0,0]]]}

输出: {
 maxLat -> 8.4,
 maxLon -> 125.6,
 minLat -> -92.3,
 minLon -> -6.0,
}

查看更多详情这里


滞后

支持于: 批处理

返回窗口中当前行之前“滞后”的输入值。

表达式类别: 聚合

类型变量界限: T 接受 AnyType

输出类型: T

查看更多详情这里


最后一个

支持于: 批处理, 流处理

组中的最后一个项目。注意,如果在聚合或无序窗口中使用,选择的行将是非确定性的。

表达式类别: 聚合

类型变量界限: T 接受 AnyType

输出类型: T

示例

参数值:

  • 表达式: values
  • 忽略nulls: false

给定输入表:

values
2
4
3

输出: 3

查看更多详情这里


领先

支持于: 批处理

返回窗口中当前行之后“领先”的输入值。

表达式类别: 聚合

类型变量界限: T 接受 AnyType

输出类型: T

查看更多详情这里


线性回归梯度

支持于: 批处理

计算右侧(输出变量)和左侧(输入变量)的线性回归梯度。

表达式类别: 聚合

输出类型: Double

示例

参数值:

  • 左侧: left
  • 右侧: right

给定输入表:

leftright
15
24
33
42
51

输出: -1.0

查看更多详情这里


最大值

支持于: 批处理, 流处理

计算列中的最大值。

表达式类别: 数值

输出类型: ComparableType

示例

参数值:

  • 表达式: values

给定输入表:

values
2
4
3

输出: 4

查看更多详情这里


平均值

支持于: 批处理, 流处理

计算列中值的平均值。

表达式类别: 数值

输出类型: Decimal | Double

示例

参数值:

  • 表达式: values

给定输入表:

values
2
4
3

输出: 3.0

查看更多详情这里


最小值

支持于: 批处理, 流处理

计算列中的最小值。

表达式类别: 数值

输出类型: ComparableType

示例

参数值:

  • 表达式: values

给定输入表:

values
2
4
3

输出: 2

查看更多详情这里


众数

支持于: 批处理

计算列中值的众数。

表达式类别: 聚合

类型变量界限: String 接受 String

输出类型: String

示例

参数值:

  • 表达式: values

给定输入表:

values
a
b
b
b
c
c
d

输出: b

查看更多详情这里


百分位排名

支持于: 批处理

返回窗口分区内行的百分位数。平局分配相同的百分比。

表达式类别: 聚合

输出类型: Double

查看更多详情这里


透视

支持于: 流处理

在透视上下文中应用聚合表达式。聚合将在限定于透视表达式每个不同值的一组单独聚合中运行。输出是从透视值到聚合表达式值的映射。

表达式类别: 聚合

类型变量界限: K 接受 ComparableType**V 接受 AnyType

输出类型: Map<K, V>

示例

参数值:

  • 聚合表达式:
    sum(
     expression: value,
    )
  • 透视表达式: pivot

给定输入表:

pivotvalue
a1
b2
a3

输出: {
 a -> 4,
 b -> 2,
}

查看更多详情这里


产品

支持于: 批处理

计算所有输入列的乘积。

表达式类别:数值型

输出类型: 双精度

示例

参数值:

  • 表达式: factor

给定输入表:

factor
2
4
3

输出: 24.0

查看更多详细信息这里


排名

支持于: 批处理

返回窗口分区内的行排名。在出现并列的情况下,行具有相同的排名。排名和密集排名之间的区别在于,出现并列时,排名会在排名序列中留下空隙。

表达式类别:聚合

输出类型: 整数

查看更多详细信息这里


行数

支持于: 批处理, 流式

计算组中非空行的数量。

表达式类别:聚合

输出类型: 长整数

示例

参数值:

  • 表达式: values

给定输入表:

values
2
4
3

输出: 3

查看更多详细信息这里


行号

支持于: 批处理, 流式

在每个分区内返回从1开始的顺序编号。

表达式类别:聚合

输出类型: 整数

查看更多详细信息这里


样本协方差

支持于: 批处理, 流式

计算两列中值的样本协方差。

表达式类别:聚合

输出类型: 双精度

示例

参数值:

  • : left
  • : right

给定输入表:

leftright
15
24
33
42
51

输出: -2.5

查看更多详细信息这里


样本方差

支持于: 批处理, 流式

计算列中值的样本方差。

表达式类别:聚合

输出类型: 双精度

示例

参数值:

  • 表达式: values

给定输入表:

values
2
2
3

输出: 0.33333333333

查看更多详细信息这里


标准差

支持于: 批处理

计算列中值的标准差。

表达式类别:数值型

输出类型: 双精度

示例

参数值:

  • 表达式: values

给定输入表:

values
2
4
3

输出: 0.81649658092773

查看更多详细信息这里


求和

支持于: 批处理, 流式

对指定表达式求和。

表达式类别:数值型

输出类型: 十进制 | 双精度 | 长整数

示例

参数值:

  • 表达式: values

给定输入表:

values
2
4
3

输出: 9

查看更多详细信息这里


方差

支持于: 批处理, 流式

计算列中值的总体方差。

表达式类别:聚合

输出类型: 双精度

示例

参数值:

  • 表达式: values

给定输入表:

values
2
4
3

输出: 0.66666666667

查看更多详细信息这里


生成器表达式


展开数组

支持于: 批处理, 流式

将数组展开为每个值一行。

表达式类别:数组

类型变量范围: T 接受任何类型

输出类型: T

查看更多详细信息这里


带位置的展开数组

支持于: 批处理, 流式

将数组展开为每个值一行,作为一个包含元素在数组中的相对位置和元素本身的结构。

表达式类别:数组

类型变量范围: T 接受任何类型

输出类型: 结构<非必填[position]:整数, 非必填[element]>

查看更多详细信息这里


展开映射

支持于: 批处理, 流式

将映射展开为每个键值对一行。

表达式类别:映射

类型变量范围: TKey 接受任何类型**TValue 接受任何类型

输出类型: 结构<非必填[key], 非必填[value]>

查看更多详细信息这里


变换


聚合

支持于: 批处理

对输入数据集按一组列进行指定的聚合。

变换类别:聚合, 受欢迎

示例

参数值:

  • 聚合: [
    alias(
     alias: factor,
     expression:
    sum(
     expression: factor,
    ),
    )]
  • 数据集: ri.foundry.main.dataset.aggregate
  • 按列分组: [tail_number]

输入:

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
XB-123foundry airline11343

输出:

tail_numberfactor
XB-12310
MT-2229
KK-4521

查看更多详细信息这里


条件聚合

支持于: 批处理

基于条件语句聚合表达式。

变换类别:聚合

查看更多详细信息这里


窗口内聚合

支持于: 流式

在窗口内对数据执行指定的聚合,根据提供的触发器发出输出。

变换类别:聚合

查看更多详细信息这里


反合并

支持于: 批处理

反合并左右数据集输入,移除所有符合提供条件的行。

变换类别:合并

示例

参数值:

  • 选择左侧列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline],
    )
  • 合并条件:
    equals(
     left: tail_number,
     right: tail_number,
    )
  • 左数据集: ri.foundry.main.dataset.left
  • 右数据集: ri.foundry.main.dataset.right

输入: ri.foundry.main.dataset.left

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
PA-452new air2122
XB-123foundry airline11342

ri.foundry.main.dataset.right

tail_numberhome_airport
XB-123LHR
MT-222CPH
KK-452JFK
JR-201IAD

输出:

tail_numberairline
PA-452new air

查看更多详细信息这里


应用表达式

支持于: 批处理, 流式

通过应用单个表达式变换输入数据集。

变换类别:其他

示例

参数值:

  • 数据集: ri.foundry.main.dataset.a
  • 表达式:
    alias(
     alias: kilometers,
     expression:
    convertDistance(
     amount: miles,
     currentUnit: mile,
     targetUnit: kilometer,
    ),
    )

输入:

airlinemiles
foundry airways2500
new air3000

输出:

kilometersairlinemiles
4023.36foundry airways2500
4828.03new air3000

查看更多详细信息这里


数组元素到列

支持于: 批处理

从数组中提取元素到列。

变换类别:数组

示例

参数值:

  • 数组: stats
  • 要提取的列: [miles, id]
  • 数据集: ri.foundry.main.dataset.a

输入:

stats
[ 1000, 2 ]

输出:

milesidstats
10002[ 1000, 2 ]

查看更多详细信息这里


指派时间戳和水印

支持于: 流式

指派时间戳和水印给输入,筛选出时间戳为空的记录。

变换类别:其他

示例

参数值:

  • 数据集: ri.foundry.main.dataset.a
  • 时间戳表达式: timestamp
  • 在每个记录上发出水印: null

输入:

timestamptemperaturesensor_id
1969-12-31T23:59:50Z28sensor_1
1969-12-31T23:59:40Z30sensor_2
1969-12-31T23:59:35Z29sensor_1

输出:

timestamptemperaturesensor_id
1969-12-31T23:59:50Z28sensor_1
1969-12-31T23:59:40Z30sensor_2
1969-12-31T23:59:35Z29sensor_1

查看更多详细信息这里


合并数据

支持于: 批处理

减少分区数量的操作。如果你有1000个分区并将其合并为100个,则不会进行洗牌,而是每个新的100个分区将声明当前分区中的10个。如果请求的分区数较大,它将保持当前的分区数。

变换类别:其他

查看更多详细信息这里


如果表达式缺失则计算

支持于: 批处理

为新行计算表达式,给定键的值只会被计算一次,即使在跨构建时也是如此。

变换类别:其他

查看更多详细信息这里


将媒体集转换为表行

支持于: 批处理

生成一个包含媒体引用和媒体项目基本元数据的数据集。首先使用此变换来应用其他媒体变换。

变换类别:文件, 媒体

查看更多详细信息这里


笛卡尔积合并

支持于: 批处理

笛卡尔积合并左右数据集输入,将每侧的所有行与另一侧的所有行匹配。输出是两个数据集的笛卡尔积。

变换类别:合并

示例

参数值:

  • 选择左侧列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline],
    )
  • 选择右侧列的条件:
    columnNameIsIn(
     columnNames: [home_airport],
    )
  • 左数据集: ri.foundry.main.dataset.left
  • 右数据集: ri.foundry.main.dataset.right
  • 来自右侧的列的前缀: null

输入: ri.foundry.main.dataset.left

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
PA-452new air2122

ri.foundry.main.dataset.right

tail_numberhome_airport
XB-123LHR
MT-222CPH
KK-452JFK
JR-201IAD

输出:

tail_numberairlinehome_airport
XB-123foundry airLHR
XB-123foundry airCPH
XB-123foundry airJFK
XB-123foundry airIAD
MT-222new airlineLHR
MT-222new airlineCPH
MT-222new airlineJFK
MT-222new airlineIAD
PA-452new airLHR
PA-452new airCPH
PA-452new airJFK
PA-452new airIAD

查看更多详细信息这里


日期分布

支持于: 批处理

计算指定列中日期/时间戳的分布。

变换类别:日期时间

查看更多详细信息这里


降维

支持于: 批处理

通过应用主成分分析将n维数组降维为k维数组。

变换类别:其他

示例

参数值:

  • : array
  • 数据集: ri.foundry.main.dataset.a
  • 输出维度: 2

输入:

array
[ 1.0, 2.0, 3.0 ]
[ 4.0, 5.0, 6.0 ]
[ 7.0, 8.0, 9.0 ]
[ 10.0, 11.0, 12.0 ]

输出:

arrayarray_pca
[ 1.0, 2.0, 3.0 ][ -3.46, 1.36 ]
[ 4.0, 5.0, 6.0 ][ -8.66, 1.36 ]
[ 7.0, 8.0, 9.0 ][ -13.85, 1.36 ]
[ 10.0, 11.0, 12.0 ][ -19.05, 1.36 ]

查看更多详细信息这里


删除列

支持于: 批处理, 流式

通过删除指定列变换输入数据集。

变换类别:受欢迎

示例

参数值:

  • 要删除的列: {miles}
  • 数据集: ri.foundry.main.dataset.a

输入:

airlinemilesairports
foundry airways3000[ JFK, SFO ]

输出:

airlineairports
foundry airways[ JFK, SFO ]

查看更多详细信息这里


删除重复项

支持于: 批处理

从输入中删除重复行。

变换类别:其他

示例

参数值:

  • 数据集: ri.foundry.main.dataset.aggregate
  • 列子集: {tail_number}

输入:

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
XB-123foundry airline11343

输出:

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
KK-452new air2221

查看更多详细信息这里


空文件

支持于: 批处理

创建一个空文件。

变换类别:其他

查看更多详细信息这里


空媒体集文件

支持于: 批处理, 流式

创建具有给定模式和快照读取模式的空媒体集文件。

变换类别:其他

查看更多详细信息这里


空表

支持于: 批处理, 流式

创建具有给定模式和读取模式的空表。

变换类别:其他

查看更多详细信息这里


从数据集中提取文件元数据作为行

支持于: 批处理

从文件数据集中读取文件元数据作为行。

变换类别:文件

查看更多详细信息这里


提取多个结构字段

支持于: 批处理

从结构中提取多个字段。原始结构将被删除。

变换类别:结构

示例

参数值:

  • 数据集: ri.foundry.main.dataset.a
  • 定位器: [(airline.name, airline), (tail_no, tail_number)]
  • 结构: raw

输入:

raw
{
airline: {
id: NA,
name: new air,
},
tail_no: NA-123,
}
{
airline: {
id: FA,
name: foundry airways,
},
tail_no: FA-123,
}

输出:

airlinetail_number
new airNA-123
foundry airwaysFA-123

查看更多详细信息这里


从CSV文件中提取行

支持于: 批处理

读取文件数据集并解析每个CSV文件为行。

变换类别:文件

查看更多详细信息这里


从GeoJSON文件中提取行

支持于: 批处理

读取文件数据集并解析每个GeoJSON文件为行。输出数据集将有一个几何列和一个用户列出的每个属性列,除了_error和_file列。如果用户未提供要提取的属性,则整个属性结构将被提取为一个字符串的属性列。所有文件中的GeoJSON必须是: a) 多行要素集合:一个包含一个GeoJSON的完整文件,类型为要素集合 b) 单行要素:每行都是一个完全有效的GeoJSON,类型为要素的文件。

变换类别:文件, 地理空间

查看更多详细信息这里


从JSON文件中提取行

支持于: 批处理

读取文件数据集并解析每个JSON文件为行。

变换类别:文件, 字符串, 结构

查看更多详细信息这里


从电子邮件文件数据集中提取行

支持于: 批处理

读取电子邮件文件的数据集并将每个文件解析为一行。支持的文件扩展名:.eml, .emltpl, 和 .msg。

变换类别:文件, 媒体

查看更多详细信息这里


从文本文件数据集中提取行

支持于: 批处理

读取文本文件的数据集并将每个文件解析为一行。

变换类别:文件, 字符串

查看更多详细信息这里


从XML文件中提取行

支持于: 批处理

读取文件数据集并解析每个XML文件为行。

变换类别:文件

查看更多详细信息这里


从Excel文件中提取行

支持于: 批处理

读取Excel文件的数据集并将每个文件解析为行。支持的文件格式:.xls, .xlt, .xltm, .xltx, .xlsx, .xlsm。

变换类别:文件

查看更多详细信息这里


从shapefile中提取行

支持于: 批处理

读取文件数据集并将每个shapefile解析为行。除.shp, .shx和.dbf文件外,所有文件将被忽略。此shapefile解析器仅支持点、折线、多边形和多点几何类型。输出数据集将有一个几何列和一个用户列出的每个属性列,除了_error和_file列。如果用户未提供要提取的属性,则整个属性结构将被提取为一个字符串的属性列。

变换类别:文件, 地理空间

查看更多详细信息这里


筛选

支持于: 批处理, 流式

根据指定的筛选条件筛选输入数据集。

变换类别:受欢迎

示例

参数值:

  • 数据集: ri.foundry.main.dataset.a
  • 筛选条件: recently_serviced

输入:

recently_servicedtail_number
trueKK-150
falseXB-120
trueMT-190

输出:

recently_servicedtail_number
trueKK-150
trueMT-190

查看更多详细信息这里


按名称首次合并

支持于: 批处理

在第一个数据集的列上合并一组数据集,当列缺失时添加空值。第一个数据集中不存在的列将被移除。

变换类别:合并

示例

参数值:

  • 要合并的数据集: [ri.foundry.main.dataset.a, ri.foundry.main.dataset.b]

输入: ri.foundry.main.dataset.a

recently_servicedtail_numberairline_code
trueKK-150KK
falseXB-120XB
trueMT-190MT

ri.foundry.main.dataset.b

recently_servicedtail_numberhome_country
trueAA-200US
trueBN-435UK
trueBN-111UK

输出:

recently_servicedtail_numberairline_code
trueKK-150KK
falseXB-120XB
trueMT-190MT
trueAA-200null
trueBN-435null
trueBN-111null

查看更多详细信息这里


扁平化结构

支持于: 批处理, 流式

将结构中的所有字段转换为输出数据集中的列。

变换类别:结构

示例

参数值:

  • 数据集: ri.foundry.main.dataset.a
  • 表达式: raw
  • 最大深度: 2
  • 列前缀: new_
  • 分隔符: null

输入:

raw
{
airline: {
id: NA,
name: new air,
},
tail_no: NA-123,
}
{
airline: {
id: FA,
name: foundry airways,
},
tail_no: FA-123,
}

输出:

new_airline_namenew_airline_idnew_tail_noraw
new airNANA-123{
airline: {
id: NA,
name: new air,
},
tail_no: NA-123,
}
foundry airwaysFAFA-123{
airline: {
id: FA,
name: foundry airways,
},
tail_no: FA-123,
}

查看更多详细信息这里


频繁模式增长

支持于: 批处理

频繁模式(fp)增长在您的数据集中查找频繁模式。

变换类别:聚合, 其他

示例

参数值:

  • 输入数据集: ri.foundry.main.dataset.a
  • 项目列: customer_attributes
  • 最小支持度: 0.6

输入:

customer_attributes
[ age_group: 20-30, country: Germany, gender: Female ]
[ age_group: 20-30, country: Germany, gender: Male ]

输出:

patternpattern_occurrencetotal_count
[ country: Germany, age_group: 20-30 ]22
[ age_group: 20-30 ]22
[ country: Germany ]22

查看更多详细信息这里


地理距离内连接

支持于: 批处理

基于输入几何之间的距离,将左右数据集内连接。在连接之前,内部将几何转换为给定的投影坐标参考系统,并转换回WGS84。

变换类别:地理空间, 合并

示例

参数值:

  • 选择左侧列的条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 选择右侧列的条件:
    columnNameIsIn(
     columnNames: [geometryCol, arrayCol],
    )
  • 距离: 10.0
  • 合并键: (geometryColLhs, geometryCol)
  • 左数据集: ri.foundry.main.dataset.left
  • 投影坐标系统: EPSG:4326
  • 右数据集: ri.foundry.main.dataset.right
  • 来自右侧的列的前缀: rhs_

输入: ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0
{"coordinates": [55.0, 5.0], "type":"Point"}43.0
{"coordinates": [[25.0, 0.0], [0.0, 25.0]], "type":"LineString"}44.0

ri.foundry.main.dataset.right

geometryColcol1arrayCol
{"coordinates": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"}rhsVal1[ 0.0, 1.0 ]
{"coordinates": [[[21.0, 21.0], [27.0, 21.0], [27.0, 27.0], [21.0, 27.0], [21.0, 21.0]]], "type": "Polygon"}rhsVal2[ 0.0, 1.0 ]

输出:

geometryColLhslhs-1rhs_geometryColrhs_arrayCol
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"}[ 0.0, 1.0 ]
{"coordinates": [[25.0, 0.0], [0.0, 25.0]], "type":"LineString"}44.0{"coordinates": [[[20.0, 10.0], [27.0, 10.0], [27.0, 17.0], [20.0, 17.0], [20.0, 10.0]]], "type": "Polygon"}[ 0.0, 1.0 ]

查看更多详细信息这里


地理距离左连接

支持于: 批处理

如果输入几何之间的距离小于或等于指定的距离,则将数据集左连接在一起。在连接之前,内部将几何转换为给定的投影坐标参考系统,并转换回WGS84。

变换类别:地理空间, 合并

示例

参数值:

  • 选择左侧列的条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 选择右侧列的条件:
    columnNameIsIn(
     columnNames: [geometryColRhs, rhs-1],
    )
  • 距离: 1640.42
  • 合并键: (geometryColLhs, geometryColRhs)
  • 左数据集: ri.foundry.main.dataset.left
  • 投影坐标系统: epsg:2868
  • 右数据集: ri.foundry.main.dataset.right
  • 来自右侧的列的前缀: null

输入: ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0
null43.0

ri.foundry.main.dataset.right

geometryColRhsrhs-1
{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}rhsVal1
{"coordinates": [-112.11796760559083,33.440895931474124], "type":"Point"}rhsVal2

输出:

geometryColLhslhs-1geometryColRhsrhs-1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{"coordinates": [-112.14560508728029,33.44082430962016], "type":"Point"}rhsVal1
null43.0nullnull

查看更多详细信息这里


地理交集内连接

支持于: 批处理, 流式

基于输入几何是否重叠,将左右数据集内连接。结果中包括仅接触的几何。

变换类别:地理空间, 合并

示例

参数值:

  • 选择左侧列的条件:
    allColumns(

    )
  • 选择右侧列的条件:
    allColumns(

    )
  • 合并键: (geometryColLhs, geometryColRhs)
  • 左数据集: ri.foundry.main.dataset.left
  • 右数据集: ri.foundry.main.dataset.right
  • 来自右侧的列的前缀: null

输入: ri.foundry.main.dataset.left

geometryColLhscol1Lhs
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0

ri.foundry.main.dataset.right

geometryColRhscol1Rhs
{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1
{"coordinates": [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]], "type": "Polygon"}rhsVal2
{"coordinates": [0.0, 0.0], "type":"Point"}rhsVal3
{"coordinates": [15.0, 15.0], "type":"Point"}rhsVal4
{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal5
{"coordinates": [[20.0, 20.0], [21.0, 23.0]], "type":"LineString"}rhsVal6
{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal7
{"coordinates": [[20.0, 20.0], [21.0, 23.0]], "type":"LineString"}rhsVal8
{"coordinates": [[[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"}rhsVal9
{"coordinates": [[[[170.0, 170.0], [190.0, 170.0], [190.0, 190.0], [170.0, 190.0], [170.0, 170.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"}rhsVal10

输出:

geometryColLhscol1LhsgeometryColRhscol1Rhs
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [0.0, 0.0], "type":"Point"}rhsVal3
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal5
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal7
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"}rhsVal9

查看更多详细信息这里


地理交集左连接

支持于: 批处理

基于输入几何是否重叠,将输入数据集左连接。结果中包括仅接触的几何。

变换类别:地理空间, 合并

示例

参数值:

  • 左侧选择列的条件:
    allColumns(

    )
  • 右侧选择列的条件:
    allColumns(

    )
  • 合并键: (geometryColLhs, geometryColRhs)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列的前缀: null

输入: ri.foundry.main.dataset.left

geometryColLhscol1Lhs
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0
{"coordinates": [55.0, 5.0], "type":"Point"}43.0

ri.foundry.main.dataset.right

geometryColRhscol1Rhs
{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1
{"coordinates": [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]], "type": "Polygon"}rhsVal2
{"coordinates": [0.0, 0.0], "type":"Point"}rhsVal3
{"coordinates": [15.0, 15.0], "type":"Point"}rhsVal4
{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal5
{"coordinates": [[20.0, 20.0], [21.0, 23.0]], "type":"LineString"}rhsVal6
{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal7
{"coordinates": [[20.0, 20.0], [21.0, 23.0]], "type":"LineString"}rhsVal8
{"coordinates": [[[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"}rhsVal9
{"coordinates": [[[[170.0, 170.0], [190.0, 170.0], [190.0, 190.0], [170.0, 190.0], [170.0, 170.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"}rhsVal10

输出:

geometryColLhscol1LhsgeometryColRhscol1Rhs
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [0.0, 0.0], "type":"Point"}rhsVal3
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal5
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal7
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"}rhsVal9
{"coordinates": [55.0, 5.0], "type":"Point"}43.0nullnull

更多详情请见此处


GeoPoint-to-GeoPoint 3D距离内连接

支持于: 批处理

根据点几何之间的距离内连接左侧和右侧数据集。几何必须表示点,并且可以选择性地包括z坐标。内部将几何转换为给定的投影坐标参考系统,然后再合并回WGS84。非点几何将被忽略,并且整个右侧数据集必须能够适应驱动程序和执行器内存。一个3 gb执行器应能够处理多达400万个点的邻居数据集。

变换类别: 地理空间, 合并

示例

参数值:

  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [geometryColLhs, lhs-1],
    )
  • 右侧选择列的条件:
    columnNameIsIn(
     columnNames: [geometryCol, arrayCol],
    )
  • 距离: 2.5
  • 合并键: (geometryColLhs, geometryCol)
  • 左侧数据集: ri.foundry.main.dataset.left
  • 投影坐标系统: EPSG:4326
  • 右侧数据集: ri.foundry.main.dataset.right
  • 使用z坐标: false
  • 右侧列的前缀: rhs_

输入: ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [0.0, 0.0, 0.0], "type":"Point"}42.0
{"coordinates": [0.0, 0.0, 5.0], "type":"Point"}43.0
{"coordinates": [0.0, 0.0], "type":"Point"}44.0

ri.foundry.main.dataset.right

geometryColcol1arrayCol
{"coordinates": [0.0, 0.0, 2.0], "type":"Point"}rhsVal1[ 0.0, 1.0 ]
{"coordinates": [0.0, 1.0], "type":"Point"}rhsVal2[ 0.0, 1.0 ]

输出:

geometryColLhslhs-1rhs_geometryColrhs_arrayCol
{"coordinates": [0.0, 0.0, 0.0], "type":"Point"}42.0{"coordinates": [0.0, 0.0, 2.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0, 0.0], "type":"Point"}42.0{"coordinates": [0.0, 1.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0, 5.0], "type":"Point"}43.0{"coordinates": [0.0, 0.0, 2.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0, 5.0], "type":"Point"}43.0{"coordinates": [0.0, 1.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0], "type":"Point"}44.0{"coordinates": [0.0, 0.0, 2.0], "type":"Point"}[ 0.0, 1.0 ]
{"coordinates": [0.0, 0.0], "type":"Point"}44.0{"coordinates": [0.0, 1.0], "type":"Point"}[ 0.0, 1.0 ]

更多详情请见此处


几何相交合并

支持于: 批处理

根据输入几何是否重叠内连接左侧和右侧数据集。如果合并键列对的几何相交,则返回包含两个数据集所有列的行。目前不支持在多个合并键上进行合并。默默地筛选空合并键几何值。左侧和右侧数据集不能有相同的列名。默默地使合并列中的无效GeoJSON为空。

变换类别: 地理空间, 合并

示例

参数值:

  • 合并键: [(geometryColLhs, geometryColRhs)]
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right

输入: ri.foundry.main.dataset.left

geometryColLhslhs-1
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0

ri.foundry.main.dataset.right

geometryColRhsrhs-1
{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1
{"coordinates": [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]], "type": "Polygon"}rhsVal2
{"coordinates": [0.0, 0.0], "type":"Point"}rhsVal3
{"coordinates": [15.0, 15.0], "type":"Point"}rhsVal4
{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal5
{"coordinates": [[20.0, 20.0], [21.0, 23.0]], "type":"LineString"}rhsVal6
{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal7
{"coordinates": [[20.0, 20.0], [21.0, 23.0]], "type":"LineString"}rhsVal8
{"coordinates": [[[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"}rhsVal9
{"coordinates": [[[[170.0, 170.0], [190.0, 170.0], [190.0, 190.0], [170.0, 190.0], [170.0, 170.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"}rhsVal10

输出:

geometryColLhslhs-1geometryColRhsrhs-1
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], "type": "Polygon"}rhsVal1
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [0.0, 0.0], "type":"Point"}rhsVal3
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal5
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[-1.0, -1.0], [5.0, 5.0]], "type":"LineString"}rhsVal7
{"coordinates": [[[0.0, 0.0], [10.0, 0.0], [10.0, 10.0], [0.0, 10.0], [0.0, 0.0]]], "type": "Polygon"}42.0{"coordinates": [[[[2.0, 2.0], [7.0, 2.0], [7.0, 7.0], [2.0, 7.0], [2.0, 2.0]]], [[[12.0, 12.0], [17.0, 12.0], [17.0, 17.0], [12.0, 17.0], [12.0, 12.0]]]], "type":"MultiPolygon"}rhsVal9

更多详情请见此处


几何KNN内连接

支持于: 批处理

从邻居数据集中为每个有效的基础数据集输入几何选择k个最近的点。内部将输入数据集转换为给定的坐标参考系统,再返回到WGS84。整个邻居数据集必须能够适应驱动程序和执行器内存。一个3 gb执行器应能够处理多达100万个点的邻居数据集。

变换类别: 地理空间, 合并

示例

参数值:

  • 基础数据集: ri.foundry.main.dataset.left
  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [geometryCol, lhsCol],
    )
  • 右侧选择列的条件:
    columnNameIsIn(
     columnNames: [geometryCol, col],
    )
  • 合并键: (geometryCol, geometryCol)
  • K: 2
  • 邻居数据集: ri.foundry.main.dataset.right
  • 投影坐标系统: epsg:2868
  • 右侧列的前缀: rhs_

输入: ri.foundry.main.dataset.left

geometryCollhsCol
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0

ri.foundry.main.dataset.right

geometryColcol
{
latitude: 33.440609443703586,
longitude: -112.14843750000001,
}
rhsVal1
{
latitude: 33.44082430962016,
longitude: -112.14560508728029,
}
rhsVal2
{
latitude: 33.440895931474124,
longitude: -112.11796760559083,
}
rhsVal3

输出:

geometryCollhsColrhs_geometryColrhs_col
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
latitude: 33.440609443703586,
longitude: -112.14843750000001,
}
rhsVal1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
latitude: 33.44082430962016,
longitude: -112.14560508728029,
}
rhsVal2

更多详情请见此处


几何KNN左连接

支持于: 批处理

从邻居数据集中为每个有效的基础数据集输入几何选择k个最近的点。内部将输入数据集转换为给定的坐标参考系统,再返回到WGS84。整个邻居数据集必须能够适应驱动程序和执行器内存。一个3 gb执行器应能够处理多达100万个点的邻居数据集。

变换类别: 地理空间, 合并

示例

参数值:

  • 基础数据集: ri.foundry.main.dataset.left
  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [geometryCol, lhsCol],
    )
  • 右侧选择列的条件:
    columnNameIsIn(
     columnNames: [geometryCol, col],
    )
  • 合并键: (geometryCol, geometryCol)
  • K: 2
  • 邻居数据集: ri.foundry.main.dataset.right
  • 投影坐标系统: epsg:2868
  • 右侧列的前缀: rhs_

输入: ri.foundry.main.dataset.left

geometryCollhsCol
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0

ri.foundry.main.dataset.right

geometryColcol
{
latitude: 33.440609443703586,
longitude: -112.14843750000001,
}
rhsVal1
{
latitude: 33.44082430962016,
longitude: -112.14560508728029,
}
rhsVal2
{
latitude: 33.440895931474124,
longitude: -112.11796760559083,
}
rhsVal3

输出:

geometryCollhsColrhs_geometryColrhs_col
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
latitude: 33.440609443703586,
longitude: -112.14843750000001,
}
rhsVal1
{"coordinates": [-112.14843750000001,33.440609443703586], "type":"Point"}42.0{
latitude: 33.44082430962016,
longitude: -112.14560508728029,
}
rhsVal2

更多详情请见此处


获取媒体引用(数据集)

支持于: 批处理

生成包含媒体引用和数据集文件基本元数据的数据集。

变换类别: 文件

更多详情请见此处


心跳检测

支持于: 流式处理

检测在设置的键中,当一条记录在可配置的时间内未被看到时。

变换类别: 其他

更多详情请见此处


内连接

支持于: 批处理

合并两个数据集,仅保留满足每个表提供条件的行。

变换类别: 合并

示例

参数值:

  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline],
    )
  • 右侧选择列的条件:
    columnNameIsIn(
     columnNames: [home_airport],
    )
  • 合并条件:
    equals(
     left: tail_number,
     right: tail_number,
    )
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列的前缀: null

输入: ri.foundry.main.dataset.left

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
PA-452new air2122
XB-123foundry airline11342

ri.foundry.main.dataset.right

tail_numberhome_airport
XB-123LHR
MT-222CPH
KK-452JFK
JR-201IAD

输出:

tail_numberairlinehome_airport
XB-123foundry airLHR
MT-222new airlineCPH
XB-123foundry airlineLHR
MT-222new airCPH
KK-452new airJFK
XB-123foundry airlineLHR

更多详情请见此处


合并

支持于: 批处理, 流式处理

将左侧和右侧数据集输入合并在一起。

变换类别: 合并

更多详情请见此处


K均值聚类

支持于: 批处理

K均值聚类是一种无监督的机器学习算法。它将数据集向量分组为k个聚类。k值通过计算指定范围内最小k到最大k的最佳轮廓分数来确定。k值的数量定义了应该在此范围内尝试多少个k值,包括边界。

变换类别: 其他

示例

参数值:

  • 输入数据集: ri.foundry.main.dataset.a
  • 最大k: 12
  • 最小k: 3
  • k值数量: 4
  • 向量列: feature_column

输入:

feature_column
[ 0.05, 3.1, 2.3 ]
[ 1.0, 3.1, 2.3 ]
[ 1.0, 3.5, 2.3 ]
[ 19.0, 12.3, -1.4 ]

输出:

feature_columncluster_id
[ 1.0, 3.1, 2.3 ]0
[ 1.0, 3.5, 2.3 ]0
[ 19.0, 12.3, -1.4 ]1
[ 0.05, 3.1, 2.3 ]2

更多详情请见此处


保留重复项

支持于: 批处理

保留输入中的重复行。

变换类别: 其他

示例

参数值:

  • 列子集: {tail_number}
  • 数据集: ri.foundry.main.dataset.aggregate

输入:

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
XB-123foundry airline11343

输出:

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
XB-123foundry airline11343

更多详情请见此处


按键

支持于: 流式处理

通过提供的按键列对输入进行键控。请注意,这不会重新排序数据,并且仅保持从设置键点开始的每个键的顺序。如果新键数据依赖于任何特定顺序,则重新键控数据可能不安全,因为如果之前的键控没有维护该顺序,我们无法保证该顺序。此外,如果启用了cdc(变更数据捕获)模式,则设置主键。主键定义指示哪些行是更新的,删除的,以及读取为当前视图时的顺序的列。

变换类别: 其他

更多详情请见此处


左连接

支持于: 批处理

合并两个数据集,保留左表中的所有行以及仅满足右表提供条件的行。

变换类别: 合并

示例

参数值:

  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline],
    )
  • 右侧选择列的条件:
    columnNameIsIn(
     columnNames: [home_airport],
    )
  • 合并条件:
    equals(
     left: tail_number,
     right: tail_number,
    )
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列的前缀: null

输入: ri.foundry.main.dataset.left

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
PA-452new air2122
XB-123foundry airline11342

ri.foundry.main.dataset.right

tail_numberhome_airport
XB-123LHR
MT-222CPH
KK-452JFK
JR-201IAD

输出:

tail_numberairlinehome_airport
XB-123foundry airLHR
MT-222new airlineCPH
XB-123foundry airlineLHR
MT-222new airCPH
KK-452new airJFK
PA-452new airnull
XB-123foundry airlineLHR

更多详情请见此处


左查找连接

支持于: 流式处理

合并两个数据集,保留左表中的所有行以及仅匹配右表的行。

变换类别: 合并

示例

参数值:

  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline],
    )
  • 右侧选择列的条件:
    columnNameIsIn(
     columnNames: [home_airport],
    )
  • 合并条件: [(tail_number, tail_number)]
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列的前缀: null

输入: ri.foundry.main.dataset.left

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
PA-452new air2122
XB-123foundry airline11342

ri.foundry.main.dataset.right

tail_numberhome_airport
XB-123LHR
MT-222CPH
KK-452JFK
JR-201IAD

输出:

tail_numberairlinehome_airport
XB-123foundry airLHR
MT-222new airlineCPH
XB-123foundry airlineLHR
MT-222new airCPH
KK-452new airJFK
PA-452new airnull
XB-123foundry airlineLHR

更多详情请见此处


手动输入表

支持于: 批处理, 流式处理

使用手动输入的表数据创建输出。

变换类别: 其他

示例

参数值:

  • : [{
    airline: foundry airlines,
    flight_code: 112,
    flight_number: XB-123,
    }, {
    airline: foundry airlines,
    flight_code: 533,
    flight_number: MT-444,
    }, {
    airline: new air,
    flight_code: 934,
    flight_number: KK-123,
    }]
  • 模式: Struct<flight_code, flight_number, airline>

输入:

flight_codeflight_numberairline
112XB-123foundry airlines
533MT-444foundry airlines
934KK-123new air

输出:

flight_codeflight_numberairline
112XB-123foundry airlines
533MT-444foundry airlines
934KK-123new air

更多详情请见此处


映射合并

支持于: 批处理

使用映射数据集中的值替换源数据集中目标列的值。

变换类别: 合并

类型变量边界: T1 接受 AnyType**T2 接受 AnyType

示例

参数值:

  • 输入数据集: ri.foundry.main.dataset.input
  • 用于映射值的键列: flight_code
  • 映射数据集: ri.foundry.main.dataset.mapping
  • 目标列: [flight_no, next_flight]
  • 用于映射的值: flight_number
  • 假设唯一映射: null
  • 默认值: unknown

输入: ri.foundry.main.dataset.input

flight_nonext_flightdeparture_time
5331122022-01-20T10:45:00Z
9345332022-01-20T11:20:00Z
2229342022-01-20T11:20:00Z

ri.foundry.main.dataset.mapping

flight_codeflight_numberairline
112XB-123foundry airlines
533MT-444foundry airlines
934KK-123new air

输出:

flight_nonext_flightdeparture_time
MT-444XB-1232022-01-20T10:45:00Z
KK-123MT-4442022-01-20T11:20:00Z
unknownKK-1232022-01-20T11:20:00Z

更多详情请见此处


按名称窄联合

支持于: 批处理

在其列名的交集上联合一组数据集,所有输入数据集中不出现的列将被删除。

变换类别: 合并

示例

参数值:

  • 要联合的数据集: [ri.foundry.main.dataset.a, ri.foundry.main.dataset.b]

输入: ri.foundry.main.dataset.a

recently_servicedtail_number
trueKK-150
falseXB-120
trueMT-190

ri.foundry.main.dataset.b

recently_servicedtail_numberairline_code
trueAA-200AA
trueBN-435BN
trueBN-111BN

输出:

recently_servicedtail_number
trueKK-150
falseXB-120
trueMT-190
trueAA-200
trueBN-435
trueBN-111

更多详情请见此处


标准化列名

支持于: 批处理, 流式处理

将列名标准化为使用lower_snake_case。

变换类别: 数据准备

示例

参数值:

  • 数据集: ri.foundry.main.dataset.a
  • 移除特殊字符: null

输入:

recentlyServicedtailNumber_airlineCode
trueKK-150KK
falseXB-120XB
trueMT-190MT

输出:

recently_servicedtail_numberairline_code
trueKK-150KK
falseXB-120XB
trueMT-190MT

更多详情请见此处


数值分布

支持于: 批处理

计算指定列中数值的分布。

变换类别: 数值

更多详情请见此处


外缓存合并

支持于: 流式处理

左侧和右侧输入中符合所有匹配条件并在缓存窗口内的行,以及来自两侧输入的未匹配行。

变换类别: 合并

更多详情请见此处


外缓存合并

支持于: 流式处理

合并左侧和右侧数据集输入,缓存每侧事件时间最高的记录以用于后续合并。记录的处理时间用作平局决胜者。在时间结果没有值可合并的情况下,乐观地发出结果。

变换类别: 合并

更多详情请见此处


外连接

支持于: 批处理

外连接提供的数据集输入,保留两个数据集中的所有行。在没有满足提供条件的行时,列将为空。

变换类别: 合并

示例

参数值:

  • 左侧选择列的条件:
    columnNameIsIn(
     columnNames: [tail_number, airline],
    )
  • 右侧选择列的条件:
    columnNameIsIn(
     columnNames: [home_airport],
    )
  • 合并条件:
    equals(
     left: tail_number,
     right: tail_number,
    )
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right
  • 右侧列的前缀: null

输入: ri.foundry.main.dataset.left

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
PA-452new air2122
XB-123foundry airline11342

ri.foundry.main.dataset.right

tail_numberhome_airport
XB-123LHR
MT-222CPH
KK-452JFK
JR-201IAD

输出:

tail_numberairlinehome_airport
XB-123foundry airLHR
MT-222new airlineCPH
XB-123foundry airlineLHR
MT-222new airCPH
KK-452new airJFK
PA-452new airnull
XB-123foundry airlineLHR
JR-201nullIAD

更多详情请见此处


透视

支持于: 批处理

对输入数据集按一组列进行分组执行指定的聚合。必须提供用于透视的唯一值,以便在运行时之前知道输出模式。这提高了运行时的稳定性。

变换类别: 聚合, 热门

类型变量边界: T 接受 Boolean | Byte | Integer | Long | Short | String

示例

参数值:

  • 聚合: [
    alias(
     alias: miles,
     expression:
    mean(
     expression: miles,
    ),
    )]
  • 数据集: ri.foundry.main.dataset.a
  • 分组列: [airline]
  • 透视列: airport
  • 透视值: [(JFK, new_york), (LHR, london)]
  • 前缀或后缀别名: null

输入:

airlineairportmiles
foundry airwaysJFK1002345
foundry airwaysLHR2221324
new airSFO21356673
new airJFK12323456
foundry airwaysLHR12542352
new airJFK12232355

输出:

airlinenew_york_mileslondon_miles
foundry airways1002345.07381838.0
new air1.22779055E7null

更多详情请见此处


投影

支持于: 批处理, 流式处理

通过选择列或对列应用函数来变换输入数据集。

变换类别: 其他

示例

参数值:

  • : [
    alias(
     alias: airline,
     expression: airlin,
    )]
  • 数据集: ri.foundry.main.dataset.a
  • 保持剩余列: false

输入:

airlinmiles
foundry airways2500
new air3000

输出:

airline
foundry airways
new air

更多详情请见此处


按条件投影

支持于: 批处理, 流式处理

通过选择列或对列应用函数来变换输入数据集。

变换类别: 热门

更多详情请见此处


窗口投影

支持于: 批处理, 流式处理

对窗口内的数据执行指定的聚合。每次接收到新行时发出一行。

变换类别: 聚合

更多详情请见此处


重命名列

支持于: 批处理, 流式处理

重命名一组列。

变换类别: 数据准备, 热门

示例

参数值:

  • 输入数据集: ri.foundry.main.dataset.a
  • 重命名: [(recently_serviced, does_not_require_service)]

输入:

recently_servicedtail_numberairline_code
trueKK-150KK
falseXB-120XB
trueMT-190MT

输出:

does_not_require_servicetail_numberairline_code
trueKK-150KK
falseXB-120XB
trueMT-190MT

更多详情请见此处


重新分区数据

支持于: 批处理

根据可选提供的分区列和生成的分区数量强制对数据进行洗牌。如果没有提供这些,分区将自动确定。

变换类别: 其他

更多详情请见此处


汇总

支持于: 批处理

在不同粒度级别上对输入数据集执行指定的聚合,提供中间和超级聚合。

变换类别: 聚合

示例

参数值:

  • 聚合: [
    alias(
     alias: mean_price,
     expression:
    mean(
     expression: price,
    ),
    )]
  • 数据集: ri.foundry.main.dataset.rollupBaseCase
  • 汇总列: [city, model]

输入:

citymodelpricestore
Londonnew phone900.0MegaMart
Londonnew phone850.75AA
Londonnew phone870.75ABC Zone
San Francisconew phone1000.0Prescos
San Francisconew phone950.25XZY Force
San Francisconew phone1105.7Phone Mart
LondonforestX 20750.1MegaMart
LondonforestX 20690.0AA
LondonforestX 20730.0ABC Zone
San FranciscoforestX 20890.4Prescos
San FranciscoforestX 20900.1XZY Force
San FranciscoforestX 201050.75Phone Mart

输出:

citymodelmean_price
Londonnew phone873.8333333333334
LondonforestX 20723.3666666666667
Londonnull798.6
San Francisconew phone1018.65
San FranciscoforestX 20947.0833333333334
San Francisconull982.8666666666667
nullnull890.7333333333335

查看更多详细信息此处


行大小

支持:批处理

估算JVM中单行的大小。

变换类别: 其他

查看更多详细信息此处


选择列

支持:批处理,流处理

从输入数据集中选择一组列。

变换类别: 流行

查看更多详细信息此处


半连接

支持:批处理

左数据集和右数据集输入进行半连接。这将删除所有不符合连接条件的行。

变换类别: 合并

示例

参数值:

  • 左侧选择列的条件:
    allColumns(

    )
  • 连接条件:
    equals(
     left: tail_number,
     right: tail_number,
    )
  • 左侧数据集: ri.foundry.main.dataset.left
  • 右侧数据集: ri.foundry.main.dataset.right

输入: ri.foundry.main.dataset.left

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
PA-452new air2122
XB-123foundry airline11342

ri.foundry.main.dataset.right

tail_numberhome_airport
XB-123LHR
MT-222CPH
KK-452JFK
JR-201IAD

输出:

tail_numberairlinemilesfactor
XB-123foundry air1242
MT-222new airline11235
XB-123foundry airline3355
MT-222new air5654
KK-452new air2221
XB-123foundry airline11342

查看更多详细信息此处


排序

支持:批处理

通过选择列或对列应用函数来变换输入数据集。

变换类别: 其他

示例

参数值:

  • 数据集: ri.foundry.main.dataset.a
  • 排序规范: [(b, DESCENDING)]

输入:

ab
12
34
56

输出:

ab
56
34
12

查看更多详细信息此处


文本块

支持:批处理,流处理

在变换之间插入文本描述。这不会以任何方式变换输入数据。

变换类别: 其他

查看更多详细信息此处


文本块

支持:批处理,流处理

在变换之间插入文本描述。这不会以任何方式变换输入数据。

变换类别: 其他

查看更多详细信息此处


文本块

支持:批处理,流处理

在变换之间插入文本描述。这不会以任何方式变换输入数据。

变换类别: 其他

查看更多详细信息此处


时间范围删除重复项

支持:流处理

从给定列子集的输入中删除重复行,行在配置的事件时间后将过期。晚于配置的事件时间到达的行将始终被删除。按指定的键分区。每个删除重复项将分别为不同的键列值计算。

变换类别: 其他

查看更多详细信息此处


时间范围删除乱序

支持:流处理

删除键列值相同且乱序的行。如果一行会在已经接收到的具有相同键值的行之前到达,则该行是乱序的。两行的比较通过首先评估第一个排序列和方向,然后仅在平局的情况下移动到下一个排序列和方向,依此类推,直到确定顺序或所有排序列平局,在这种情况下,行是相等的。每个键的当前最大值将被存储,直到没有新行在大于或等于到期的事件时间内到达。对于一个键,当没有新行在大于或等于到期时间到达时,该键的任何新行将永远不会被删除,并且将始终存储为新的当前最大值。

变换类别: 其他

查看更多详细信息此处


时间范围事件时间排序

支持:流处理

按键以升序事件时间顺序发出行,允许迟到的记录直到至少允许的迟到时间。到达允许的迟到时间加上一些小缓冲间隔之后的记录将被删除。

变换类别: 其他

查看更多详细信息此处


顶部行

支持:批处理

选择每个排序分区中的顶部行。

变换类别: 聚合

示例

参数值:

  • 数据集: ri.foundry.main.dataset.a
  • 按列分区: {airline}
  • 排序规范: [(airport, DESCENDING), (miles, ASCENDING)]
  • 行数: null

输入:

airlineairportmiles
foundry airwaysJFK1002345
foundry airwaysLHR2221324
new airSFO21356673
new airJFK12323456
foundry airwaysLHR12542352
new airJFK12232355

输出:

airlineairportmiles
foundry airwaysLHR2221324
new airSFO21356673

查看更多详细信息此处


变换媒体集

支持:批处理

使用给定的变换变换媒体集。

变换类别: 媒体

查看更多详细信息此处


按名称合并

支持:批处理,流处理

在匹配列名上将一组数据集合并在一起。

变换类别: 合并

示例

参数值:

  • 要合并的数据集: [ri.foundry.main.dataset.a, ri.foundry.main.dataset.b]

输入: ri.foundry.main.dataset.a

recently_servicedtail_numberairline_code
trueKK-150KK
falseXB-120XB
trueMT-190MT

ri.foundry.main.dataset.b

recently_servicedtail_numberairline_code
trueAA-200AA
trueBN-435BN
trueBN-111BN

输出:

recently_servicedtail_numberairline_code
trueKK-150KK
falseXB-120XB
trueMT-190MT
trueAA-200AA
trueBN-435BN
trueBN-111BN

查看更多详细信息此处


反透视

支持:批处理,流处理

执行透视的反操作...

变换类别: 聚合,流行

类型变量界限: T 接受 AnyType

示例

参数值:

  • 要反透视的列: [new_york_miles, london_miles]
  • 数据集: ri.foundry.main.dataset.a
  • 输出反透视列名: city
  • 反透视值输出列名: miles

输入:

airlinenew_york_mileslondon_miles
foundry airways10006000
new airnull8000

输出:

citymilesairline
new_york_miles1000foundry airways
london_miles6000foundry airways
new_york_milesnullnew air
london_miles8000new air

查看更多详细信息此处


宽泛按名称合并

支持:批处理,流处理

在其列名的超集上将一组数据集合并在一起,当列缺失时添加null。

变换类别: 合并

示例

参数值:

  • 要合并的数据集: [ri.foundry.main.dataset.a, ri.foundry.main.dataset.b]

输入: ri.foundry.main.dataset.a

recently_servicedtail_number
trueKK-150
falseXB-120
trueMT-190

ri.foundry.main.dataset.b

recently_servicedtail_numberairline_code
trueAA-200AA
trueBN-435BN
trueBN-111BN

输出:

recently_servicedtail_numberairline_code
trueKK-150null
falseXB-120null
trueMT-190null
trueAA-200AA
trueBN-435BN
trueBN-111BN

查看更多详细信息此处


窗口

支持:批处理

对按一组列分组的输入数据集执行指定的聚合。

变换类别: 聚合,流行

查看更多详细信息此处