Google bigquery BigQuery:叶字段总数过多10852

Google bigquery BigQuery:叶字段总数过多10852,google-bigquery,google-cloud-datastore,Google Bigquery,Google Cloud Datastore,我正在从Google云数据库导入一些数据,大约有980列。我首先将其导出到Bucket,并尝试将其导入BigQuery(使用)。但是,我得到的错误太多的总叶字段:10852 我可以肯定地知道,没有一个实体的字段超过1000个。导入过程是否可能正在转换我的数据并创建其他字段 服务生成的架构包含的字段不会超过10k。因此,看起来您正在导入一个已经有数据的BigQuery表。BigQuery将采用现有模式和新模式的并集。因此,即使任何给定实体的字段少于1000个,如果所有类型实体中的所有字段名的并集,

我正在从Google云数据库导入一些数据,大约有980列。我首先将其导出到Bucket,并尝试将其导入BigQuery(使用)。但是,我得到的错误
太多的总叶字段:10852


我可以肯定地知道,没有一个实体的字段超过1000个。导入过程是否可能正在转换我的数据并创建其他字段

服务生成的架构包含的字段不会超过10k。因此,看起来您正在导入一个已经有数据的BigQuery表。BigQuery将采用现有模式和新模式的并集。因此,即使任何给定实体的字段少于1000个,如果所有类型实体中的所有字段名的并集,加上BigQuery模式中的现有字段

您拥有的一些选项包括: 1) 每次导入到BigQuery时都使用一个新表。 2) 尝试使用来限制加载到BigQuery中的字段。

Jim Morrison的解决方案(使用)为我解决了这个问题。 我最终传递了一个我感兴趣的实体列列表,并且只将这个子集导出到BigQuery。下面的命令行指令实现了这一点

bq --location=US load --source_format=DATASTORE_BACKUP --projection_fields="field1, field4, field2, field3"  --replace mydataset.table gs://mybucket/2019-03-25T02:56:02_47688/default_namespace/kind_data/default_namespace_datakind.export_metadata


看看这个:谢谢吉姆·莫里森。在进一步检查时,我确实发现有些字段的列数过高。正如您所建议的那样,我最终使用了projectionFields,从我的数据存储备份中只导出最重要字段的一个子集。