插入字段 A 为重复记录的行时,如果 A.a 为 None,而 A.b.为 1 时,字段会折叠。 A.b 的值被插入到 A.a 中,而不是将 A.a 保留为 Null。
from google.cloud import bigquery as bq
# my_table schema
schema = [SchemaField("Key"), "INTERER",
SchemaField(
"A",
"RECORD",
mode="REPEATED",
fields=[
SchemaField("a", "STRING"),
SchemaField("b", "STRING")]
client = bq.Client()
tbl_ref = client.get_table(client.dataset('test-dataset').table('my_table'))
row = [{"Key":1, "A":{"a":None, "b":"not-null"}}]
client.insert_rows(row)
结果是bigquery中的一条记录,其中key=1,A.a='not-null'
更正:这不是 BigQuery 的问题,而是不同 SQL 客户端的 UI 生成的预览效果不佳。无视。