funktion from_protobuf

Gäller för:markerad som ja Databricks SQL markerad som ja Databricks Runtime version 16.1 eller senare

Konverterar ett binärt Protobuf-värde till ett med hjälp STRUCT av den specificerade Protobuf-meddelandedefinitionen.

Syntax

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

Arguments

  • data: Ett uttryck som BINARY innehåller ett Protobuf-meddelande.
  • messageName: Ett konstant STRING uttryck som namnger Protobuf-meddelandet att avkoda.
  • descFilePath: En valfri konstant STRING väg till en Protobuf-deskriptorfil eller ett konstant BINARY värde som innehåller deskriptorfilen. Generera deskriptorfilen med protoc --descriptor_set_out och --include_imports. Utelämna descFilePath endast när options du konfigurerar ett schema-register.
  • options: Ett valfritt konstant MAP<STRING, STRING> uttryck som innehåller konverteringsalternativ.

Returns

A vars fält och typer stämmer STRUCT överens med Protobufs meddelandedefinition.

Om data är NULL är NULL resultatet.

Protobuf-meddelandedefinitionen måste matcha schemat för data. Om scheman inte stämmer överens kan funktionen misslyckas eller returnera ett godtyckligt resultat.

Options

En fullständig lista över alternativ finns i Protobuf.

Examples

Följande exempel använder en deskriptorfil genererad från detta Protobuf-meddelande:

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

Avkoda ett binärt Protobuf-värde:

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