from_protobuf Função

Aplica-se ao:indicado sim Databricks SQL indicado sim Databricks Runtime 16.1 e versões posteriores

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

Syntax

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

Arguments

  • data: Uma BINARY expressão contendo uma mensagem Protobuf.
  • messageName: Uma expressão constante STRING que nomeia a mensagem Protobuf para decodificar.
  • descFilePath: Um caminho constante STRING opcional para um arquivo descritor Protobuf ou um valor constante BINARY contendo o arquivo descritor. Gerar o arquivo descritor com protoc --descriptor_set_out e --include_imports. Omita descFilePath somente quando options configurar um Registro 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 é 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 obter uma lista completa de opções, consulte Protobuf.

Examples

O exemplo a seguir usa um arquivo 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}