我有一个这样的原型文件:
syntax = "proto3";
option go_package="./messages";
enum MessageType {
EventType = 0;
}
message Data {
uint32 id = 1;
MessageType event = 2;
string website = 3;
float value = 4;
}
这个 proto 文件生成一个带有 Data 结构的 go 文件:
type Data struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty"`
Event MessageType `protobuf:"varint,2,opt,name=event,proto3,enum=MessageType" json:"event,omitempty"`
Website string `protobuf:"bytes,3,opt,name=website,proto3" json:"website,omitempty"`
Value float32 `protobuf:"fixed32,4,opt,name=value,proto3" json:"value,omitempty"`
}
现在我想初始化一个新的镶木地板编写器:
writer.NewParquetWriter(fw, new (Data), Concurrency)
问题是我没有镶木地板标签,所以镶木地板作家失败了。
如何将生成的结构更改为带有镶木地板标签:
type Data struct {
state protoimpl.MessageState
sizeCache protoimpl.SizeCache
unknownFields protoimpl.UnknownFields
Id uint32 `protobuf:"varint,1,opt,name=id,proto3" json:"id,omitempty" parquet:"name=Id, type=INT32"`
Event MessageType `protobuf:"varint,2,opt,name=event,proto3,enum=MessageType" json:"event,omitempty" parquet:"name=event, type=MessageType`
Website string `protobuf:"bytes,3,opt,name=website,proto3" json:"website,omitempty" parquet:"name=website, type=BYTE_ARRAY, convertedtype=UTF8"`
Value float32 `protobuf:"fixed32,4,opt,name=value,proto3" json:"value,omitempty" parquet:"name=value, type=FLOAT"`
}