from_protobuf Fonction

S'applique à :coché Databricks SQL coché Databricks Runtime 16.1 et version ultérieure

Convertit une valeur binaire de Protobuf en a STRUCT en utilisant la définition spécifiée du message Protobuf.

Syntax

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

Arguments

  • data: Une BINARY expression contenant un message Protobuf.
  • messageName: Une expression constante STRING nommant le message Protobuf à décoder.
  • descFilePath: Un chemin constant STRING optionnel vers un fichier descripteur Protobuf ou une valeur constante BINARY contenant le fichier descripteur. Générez le fichier descripteur avec protoc --descriptor_set_out et --include_imports. Omettez-le descFilePath uniquement lors options de la configuration d’un registre de schéma.
  • options: Une expression constante MAP<STRING, STRING> optionnelle contenant des options de conversion.

Returns

A dont les champs et types correspondent STRUCT à la définition du message Protobuf.

Si data est NULL, le résultat est NULL.

La définition du message Protobuf doit correspondre au schéma de data. Si les schémas ne correspondent pas, la fonction peut échouer ou retourner un résultat arbitraire.

Options

Pour obtenir la liste complète des options, consultez Protobuf.

Exemples

L’exemple suivant utilise un fichier descripteur généré à partir de ce message Protobuf :

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

Décodez une valeur binaire de Protobuf :

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