pyarrow.substrait.serialize_expressions#

pyarrow.substrait.serialize_expressions(exprs, names, schema, *, allow_arrow_extensions=False)#

将一组表达式序列化为 Substrait

Substrait 表达式必须绑定到一个 schema。例如,Substrait 表达式 a:i32 + b:i32 不同于 Substrait 表达式 a:i64 + b:i64。Pyarrow 表达式通常是未绑定的。例如,上述两个表达式在 pyarrow 中都表示为 a + b

这意味着在序列化表达式时必须提供一个 schema。这也意味着如果找不到与表达式匹配的函数调用,序列化可能会失败。

参数:
exprslist of Expression

要序列化的表达式

nameslist of str

表达式的名称

schemaSchema

表达式将绑定到的 schema

allow_arrow_extensionsbool, 默认为 False

如果为 `False`,则只允许属于核心 Substrait 函数定义的函数。将此设置为 `True` 可允许 pyarrow 特定的函数和用户定义的函数,但结果可能不被其他计算库接受。

返回:
缓冲区

一个包含序列化表达式的 ExtendedExpression 消息