from_protobuf Função

Aplica-se a:marca de verificação sim Databricks SQL marca de verificação sim Databricks Runtime 16.1 e superior

Converte um valor binário Protobuf em a STRUCT usando a definição especificada da mensagem Protobuf.

Syntax

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

Arguments

  • data: Uma expressão contendo BINARY uma mensagem Protobuf.
  • messageName: Uma expressão constante STRING que nomeia a mensagem Protobuf para decodificar.
  • descFilePath: Um caminho constante STRING opcional para um ficheiro descritor Protobuf ou um valor constante BINARY contendo o ficheiro descritor. Gerar o ficheiro descritor com protoc --descriptor_set_out e --include_imports. Omitir descFilePath apenas quando options configurar um Registo de Esquemas.
  • options: Uma expressão constante MAP<STRING, STRING> opcional contendo opções de conversão.

Returns

A cujos campos e tipos correspondem STRUCT à definição da mensagem Protobuf.

Se data for igual a NULL, o resultado é NULL.

A definição da mensagem Protobuf deve corresponder ao esquema de data. Se os esquemas não coincidirem, a função pode falhar ou devolver um resultado arbitrário.

Opções

Para uma lista completa de opções, veja Protobuf.

Examples

O exemplo seguinte utiliza um ficheiro descritor gerado a partir desta mensagem Protobuf:

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

Decode um valor binário de Protobuf:

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