Command bqschemaupdater accepts location and schema of a BigQuery table and creates or updates the table.
When converting a proto message to BigQuery schema, in the order of precedence:
- one message field becomes at most one BigQuery field - if a field has leading comments, common indentation is trimmed and the result becomes the BigQuery field description - if a field is of enum type, the BigQuery type is string and valid values are appended to the BigQuery field description - if a field is google.protobuf.Duration, the BigQuery type is FLOAT64 - if a field is google.protobuf.Timestamp, the BigQuery type is TIMESTAMP - if a field is google.protobuf.Struct, is is persisted as a JSONPB string. - if a field is of message type, the BigQuery type is RECORD with schema corresponding to the proto field type, recursively. However, if the resulting RECORD schema is empty, the field is omitted.