Funzione from_protobuf

Si applica a:selezionato come sì Databricks SQL selezionato come sì Databricks Runtime 16.1 e versioni successive

Converte un valore binario Protobuf in a STRUCT usando la definizione specificata del messaggio Protobuf.

Syntax

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

Arguments

  • data: Un'espressione BINARY contenente un messaggio Protobuf.
  • messageName: Un'espressione costante STRING che nomina il messaggio Protobuf da decodificare.
  • descFilePath: Un percorso costante STRING opzionale verso un file descrittore Protobuf o un valore costante BINARY contenente il file descrittore. Genera il file descrittore con protoc --descriptor_set_out e --include_imports. Ometti descFilePath solo quando options configura un Registro Schema.
  • options: Un'espressione costante MAP<STRING, STRING> opzionale contenente opzioni di conversione.

Returns

A i cui campi e tipi corrispondono STRUCT alla definizione del messaggio Protobuf.

Se data è NULL, il risultato è NULL.

La definizione del messaggio Protobuf deve corrispondere allo schema di data. Se gli schemi non corrispondono, la funzione può fallire o restituire un risultato arbitrario.

Opzioni

Per un elenco completo delle opzioni, vedere Protobuf.

Examples

Il seguente esempio utilizza un file descrittore generato da questo messaggio Protobuf:

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

Decodifica un valore binario di Protobuf:

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