from_protobuf Funkce

platí pro:označeno jako ano Databricks SQL zaškrtnuto ano Databricks Runtime 16.1 a vyšší

Převádí binární hodnotu Protobufu na a STRUCT pomocí specifikované definice zprávy Protobuf.

Syntax

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

Arguments

  • data: Výraz obsahující BINARY zprávu Protobuf.
  • messageName: Konstantní STRING výraz pojmenující zprávu Protobuf k dekódování.
  • descFilePath: Volitelné konstantní STRING cesty k souboru Protobuf descriptoru nebo konstantní BINARY hodnota obsahující soubor descriptoru. Vygenerujte soubor deskriptorů pomocí protoc --descriptor_set_out a .--include_imports Vynechat descFilePath pouze při options konfiguraci registru schémat.
  • options: Volitelný MAP<STRING, STRING> konstantní výraz obsahující možnosti převodu.

Returns

A, jehož pole a typy odpovídají STRUCT definici zprávy Protobuf.

Pokud data je NULL, výsledek je NULL.

Definice zprávy Protobuf musí odpovídat schématu .data Pokud se schémata neshodují, funkce může selhat nebo vrátit libovolný výsledek.

Možnosti

Úplný seznam možností najdete v tématu Protobuf.

Examples

Následující příklad používá soubor descriptoru generovaný z této zprávy Protobuf:

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

Dekódujte binární hodnotu Protobufu:

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