Google bigquery 如何将大量嵌套数据从GCS加载到BigQuery

Google bigquery 如何将大量嵌套数据从GCS加载到BigQuery,google-bigquery,google-cloud-storage,Google Bigquery,Google Cloud Storage,我在向Bigquery加载大量数据时遇到了麻烦 在地面军事系统中,我有大量这样的文件: gs://bucket/many_folders/yyyy/mm/dd/many_files.gz 我想将其加载到BigQuery,因此首先,我尝试: bq load --source_format=NEWLINE_DELIMITED_JSON \ --ignore_unknown_values\ --max_bad_records=2100000000\ --nosync\ project

我在向Bigquery加载大量数据时遇到了麻烦

在地面军事系统中,我有大量这样的文件:

gs://bucket/many_folders/yyyy/mm/dd/many_files.gz
我想将其加载到BigQuery,因此首先,我尝试:

bq load --source_format=NEWLINE_DELIMITED_JSON \
  --ignore_unknown_values\
  --max_bad_records=2100000000\
  --nosync\
  project:dataset.table \
  gs://bucket/* \
  schema.txt
失败,因为它超过了“max_bad_records”限制(该文件是多种类型日志的集合,因此会导致许多错误)

然后我计算发现我需要使用“*”,比如:

由于max_bad_记录的限制

但我发现它非常慢(因为BigQuery中的pararell运行限制)。并且它也超出了每日装载作业的限制。我宁愿不做这个选择

有没有解决这个问题的办法?我想尽快加载这些数据


谢谢阅读。

我通过将地面军事系统数据作为一列加载解决了这个问题。 然后,作为下一步,我解析了数据。

您可以使用从云存储读取数据并将其加载到BigQuery。这里有几个关于如何从多个路径读取的示例。
bq load --source_format=NEWLINE_DELIMITED_JSON \
  --ignore_unknown_values\
  --max_bad_records=2100000000\
  --nosync\
  gs://bucket/many_folders/yyyy/mm/dd/*\
  schema.txt