적용 대상:
Databricks SQL
Databricks Runtime 16.1 이상
지정된 Protobuf 메시지 정의를 사용하여 a STRUCT 를 Protobuf가 인코딩한 BINARY 값으로 변환합니다.
Syntax
to_protobuf(data, messageName [, descFilePath [, options] ])
to_protobuf(data, messageName, options)
Arguments
-
data:STRUCT인코딩할 표현식. -
messageName: 프로토부프 메시지를 인코딩할 이름을 명명하는 상수STRING표현식입니다. -
descFilePath: Protobuf 디스크립터 파일 또는 디스크립터 파일을 포함하는 상수BINARY값으로 가는 선택적 상수STRING경로. 와 를 포함한protoc --descriptor_set_out--include_imports디스크립터 파일을 생성합니다. 스키마 레지스트리를 구성할 때options만 생략하세요descFilePath. -
options: 변환 옵션을 포함하는 선택적 상수MAP<STRING, STRING>표현식입니다.
Returns
프로토부프가 인코딩한 BINARY 값입니다.
data가 NULL이면 결과는 NULL입니다.
의 data 스키마는 지정된 Protobuf 메시지 정의와 일치해야 합니다.
Options
전체 옵션 목록은 Protobuf를 참조하세요.
예제
다음 예시는 이 Protobuf 메시지에서 생성된 디스크립터 파일을 사용합니다:
message Person {
string name = 1;
int32 id = 2;
}
구조체를 이진 Protobuf 값으로 인코딩하기:
> SELECT hex(to_protobuf(
named_struct('name', 'Alice', 'id', 42),
'Person',
'/path/to/person.desc'));
0A05416C696365102A