to_protobuf-Funktion

Gilt für:mit Häkchen markiert ja Databricks SQL mit Häkchen markiert ja Databricks Runtime 16.1 und höher

Wandelt a STRUCT in einen Protobuf-codierten BINARY Wert unter Verwendung der angegebenen Protobuf-Nachrichtendefinition um.

Syntax

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

Arguments

  • data: Ein STRUCT Ausdruck zum Kodieren.
  • messageName: Ein ständiger STRING Ausdruck, der die Protobuf-Nachricht zum Codieren benennen.
  • descFilePath: Ein optionaler konstanter STRING Pfad zu einer Protobuf-Deskriptordatei oder ein konstanter BINARY Wert, der die Deskriptordatei enthält. Generiere die Deskriptordatei mit protoc --descriptor_set_out und --include_imports. Nur auslassen descFilePath , wenn options ein Schema-Register konfiguriert wird.
  • options: Ein optionaler Konstantenausdruck MAP<STRING, STRING> mit Konvertierungsoptionen.

Rücklieferungen

Ein Protobuf-kodierter BINARY Wert.

Wenn data ist NULL, ist das Ergebnis NULL.

Das Schema von data muss der angegebenen Protobuf-Nachrichtendefinition entsprechen.

Options

Eine vollständige Liste der Optionen finden Sie unter Protobuf.

Beispiele

Das folgende Beispiel verwendet eine Deskriptordatei, die aus dieser Protobuf-Nachricht generiert wird:

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

Kodiere eine Struktur als binären Protobuf-Wert:

> SELECT hex(to_protobuf(
    named_struct('name', 'Alice', 'id', 42),
    'Person',
    '/path/to/person.desc'));
  0A05416C696365102A