Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Применяется к:
Databricks SQL
Databricks Runtime 16.1 и более поздним версиям
Преобразует бинарное значение Протобуфа в a STRUCT с использованием заданного определения сообщения Протобуфа.
Syntax
from_protobuf(data, messageName [, descFilePath [, options] ])
from_protobuf(data, messageName, options)
Arguments
-
data: ВыражениеBINARY, содержащее сообщение Протобуфа. -
messageName: ПостоянноеSTRINGвыражение, указывающее сообщение Protobuf для декодирования. -
descFilePath: Необязательный постоянныйSTRINGпуть к файлу дескриптора Protobuf или постоянноеBINARYзначение, содержащее этот файл. Сгенерируйте дескрипторный файл сprotoc --descriptor_set_outпомощью и--include_imports. ОпускайтеdescFilePathтолько приoptionsнастройке реестра схем. -
options: Необязательное выражение константыMAP<STRING, STRING>, содержащее опции преобразования.
Returns
A, STRUCT поля и типы которых совпадают с определением сообщения Протобуфа.
Если data равно NULL, то результат – NULL.
Определение сообщения Протобуфа должно совпадать со схемой .data Если схемы не совпадают, функция может провалиться или вернуть произвольный результат.
Параметры
Полный список параметров см. в разделе Protobuf.
Examples
В следующем примере используется дескрипторный файл, сгенерированный из этого Protobuf-сообщения:
message Person {
string name = 1;
int32 id = 2;
}
Декодировать бинарное значение Протобуфа:
> SELECT from_protobuf(
unhex('0A05416C696365102A'),
'Person',
'/path/to/person.desc');
{"name":"Alice","id":42}