to_protobuf funkcja

Dotyczy:zaznaczone jako tak Databricks SQL zaznaczone jako tak Databricks Runtime 16.1 i nowsze

Przekształca a STRUCT na wartość zakodowaną BINARY w Protobuf, używając określonej definicji komunikatu Protobuf.

Syntax

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

Arguments

  • data: Wyrażenie STRUCT do kodowania.
  • messageName: Stałe STRING wyrażenie nazywające wiadomość Protobuf do kodowania.
  • descFilePath: Opcjonalna STRING stała ścieżka do pliku deskryptora Protobuf lub stała BINARY wartość zawierająca ten plik. Wygeneruj plik deskryptora z protoc --descriptor_set_out i --include_imports. Pomijam descFilePath tylko przy options konfigurowaniu rejestru schematów.
  • options: Opcjonalne wyrażenie stałe MAP<STRING, STRING> zawierające opcje konwersji.

Returns

Wartość zakodowana BINARY w Protobufie.

Jeśli data jest NULL, wynik to NULL.

Schemat musi data odpowiadać określonej definicji wiadomości Protobuf.

Opcje

Aby uzyskać pełną listę opcji, zobacz Protobuf.

Examples

Poniższy przykład wykorzystuje plik deskryptora wygenerowany z tej wiadomości Protobuf:

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

Zakoduj strukturę jako binarną wartość Protobuf:

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