Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:
Databricks SQL
Databricks Runtime 16.1 und höher
Wandelt einen binären Protobuf-Wert mithilfe der spezifizierten Protobuf-Nachrichtendefinition in ein STRUCT um.
Syntax
from_protobuf(data, messageName [, descFilePath [, options] ])
from_protobuf(data, messageName, options)
Arguments
-
data: Ein Ausdruck mitBINARYeiner Protobuf-Nachricht. -
messageName: Ein ständigerSTRINGAusdruck, der die Protobuf-Nachricht zum Entschlüsseln benennen. -
descFilePath: Ein optionaler konstanterSTRINGPfad zu einer Protobuf-Deskriptordatei oder ein konstanterBINARYWert, der die Deskriptordatei enthält. Generiere die Deskriptordatei mitprotoc --descriptor_set_outund--include_imports. Nur auslassendescFilePath, wennoptionsein Schema-Register konfiguriert wird. -
options: Ein optionaler KonstantenausdruckMAP<STRING, STRING>mit Konvertierungsoptionen.
Rücklieferungen
A STRUCT , dessen Felder und Typen mit der Definition der Protobuf-Nachricht übereinstimmen.
Wenn data ist NULL, ist das Ergebnis NULL.
Die Protobuf-Nachrichtendefinition muss mit dem Schema von dataübereinstimmen. Wenn die Schemata nicht übereinstimmen, kann die Funktion ausfallen oder ein beliebiges Ergebnis zurückgeben.
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;
}
Entschlüsseln Sie einen binären Protobuf-Wert:
> SELECT from_protobuf(
unhex('0A05416C696365102A'),
'Person',
'/path/to/person.desc');
{"name":"Alice","id":42}