from_protobuf functie

Van toepassing op:aangevinkt als ja Databricks SQL aangevinkt als ja Databricks Runtime 16.1 en hoger

Zet een binaire Protobuf-waarde om in een STRUCT met behulp van de gespecificeerde Protobuf-berichtdefinitie.

Syntax

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

Arguments

  • data: Een expressie met BINARY een Protobuf-bericht.
  • messageName: Een constante STRING uitdrukking die het Protobuf-bericht benoemt om te decoderen.
  • descFilePath: Een optioneel constant STRING pad naar een Protobuf-descriptorbestand of een constante BINARY waarde die het descriptorbestand bevat. Genereer het descriptorbestand met protoc --descriptor_set_out en --include_imports. Alleen weglaten descFilePath wanneer options je een Schema Registry configureert.
  • options: Een optionele constante MAP<STRING, STRING> expressie met conversieopties.

Returns

A STRUCT waarvan de velden en typen overeenkomen met de Protobuf-berichtdefinitie.

Als dataNULL is, dan is het resultaat NULL.

De Protobuf-berichtdefinitie moet overeenkomen met het schema van data. Als de schema's niet overeenkomen, kan de functie falen of een willekeurig resultaat teruggeven.

Opties

Zie Protobuf voor een volledige lijst met opties.

Examples

Het volgende voorbeeld gebruikt een descriptorbestand dat wordt gegenereerd uit dit Protobuf-bericht:

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

Decodeer een binaire Protobuf-waarde:

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