Skip to content
ClickHouse Docs
ClickHouse DocsClickHouse Docs

ProtobufList

ClickHouse Cloud ではサポートされていません
入力 出力 エイリアス

説明

ProtobufListフォーマットはProtobufフォーマットに似ていますが、行は固定名 "Envelope" のメッセージに含まれるサブメッセージの並びとして表現されます。

使用例

例:

SELECT * FROM test.table FORMAT ProtobufList SETTINGS format_schema = 'schemafile:MessageType'
cat protobuflist_messages.bin | clickhouse-client --query "INSERT INTO test.table FORMAT ProtobufList SETTINGS format_schema='schemafile:MessageType'"

ファイル schemafile.proto の内容は次のとおりです:

schemafile.protocapnp
syntax = "proto3";
message Envelope {
  message MessageType {
    string name = 1;
    string surname = 2;
    uint32 birthDate = 3;
    repeated string phoneNumbers = 4;
  };
  MessageType row = 1;
};

format_schema で指定されたメッセージ型は、まず最上位の Envelope メッセージ内のネストされた型として解決されます。そこで一致するものが見つからない場合 — スキーマに Envelope メッセージが存在しないか、Envelope に指定された名前のメッセージが含まれていない場合 — その名前を持つ最上位メッセージが直接使用されます。

フォーマット設定

Navigation