from_protobuf Función

se aplica a:marcado como sí Databricks SQL marcado como sí Databricks Runtime 16.1 y versiones posteriores

Convierte un valor binario de Protobuf en a STRUCT usando la definición especificada de mensaje de Protobuf.

Syntax

from_protobuf(data, messageName [, descFilePath [, options] ])
from_protobuf(data, messageName, options)

Arguments

  • data: Una expresión que BINARY contiene un mensaje Protobuf.
  • messageName: Una expresión constante STRING que nombra el mensaje Protobuf a decodificar.
  • descFilePath: Una ruta constante STRING opcional hacia un archivo descriptor Protobuf o un valor constante BINARY que contiene el archivo descriptor. Genera el archivo descriptor con protoc --descriptor_set_out y --include_imports. Omitir descFilePath solo cuando options configura un Registro de Esquemas.
  • options: Una expresión constante MAP<STRING, STRING> opcional que contiene opciones de conversión.

Returns

A cuyos campos y tipos coinciden STRUCT con la definición del mensaje Protobuf.

Si data es NULL, el resultado es NULL.

La definición del mensaje Protobuf debe coincidir con el esquema de data. Si los esquemas no coinciden, la función puede fallar o devolver un resultado arbitrario.

Opciones

Para obtener una lista completa de las opciones, consulte Protobuf.

Ejemplos

El siguiente ejemplo utiliza un archivo descriptor generado a partir de este mensaje Protobuf:

message Person {
  string name = 1;
  int32 id = 2;
}

Decodifica un valor binario de Protobuf:

> SELECT from_protobuf(
    unhex('0A05416C696365102A'),
    'Person',
    '/path/to/person.desc');
  {"name":"Alice","id":42}