from_protobuf fonksiyon

Şunlar için geçerlidir:evet olarak işaretlendi Databricks SQL evet olarak işaretlendi Databricks Runtime 16.1 ve üzeri

Belirtilen Protobuf mesaj tanımını kullanarak ikili bir Protobuf değerini a'ya STRUCT dönüştürür.

Syntax

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

Arguments

  • data: Protobuf mesajı içeren bir BINARY ifade.
  • messageName: Protobuf mesajını kodlaması için adlandıran sürekli STRING bir ifade.
  • descFilePath: Protobuf tanımlayıcı dosyasına veya tanımlayıcı dosyayı içeren sabit BINARY bir değere isteğe bağlı sabit STRING bir yol. Tanımlayıcı dosyayı ve protoc --descriptor_set_out--include_importsile oluşturun. Yalnızca bir Şema Kaydı yapılandırıldığında options çıkardescFilePath.
  • options: Dönüştürme seçenekleri içeren isteğe bağlı sabit MAP<STRING, STRING> bir ifade.

Returns

Alanları ve türleri Protobuf mesaj tanımıyla eşleşen A STRUCT .

Eğer dataNULL ise, sonuç NULL olur.

Protobuf mesaj tanımı, 'nin dataşeması ile eşleşmelidir. Şemalar eşleşmezse, fonksiyon başarısız olabilir veya rastgele bir sonuç verebilir.

Options

Seçeneklerin tam listesi için bkz. Protobuf.

Examples

Aşağıdaki örnek, bu Protobuf mesajından oluşturulan bir tanımlayıcı dosyayı kullanır:

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

Bir ikili Protobuf değerini çöz:

> SELECT from_protobuf(
    unhex('0A05416C696365102A'),
    'Person',
    '/path/to/person.desc');
  {"name":"Alice","id":42}