to_protobuf 함수

적용 대상:확인 표시 있음 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