在将大量数据加载到Bigquery时遇到麻烦。
在GCS中,我有很多这样的文件:
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”限制而失败(该文件是许多类型的日志的聚合,因此会导致许多错误)。
然后我计算发现需要使用“ *”,例如:
bq load --source_format=NEWLINE_DELIMITED_JSON \
--ignore_unknown_values\
--max_bad_records=2100000000\
--nosync\
gs://bucket/many_folders/yyyy/mm/dd/*\
schema.txt
由于max_bad_records限制。
但是我发现它非常慢(由于BigQuery中的并行运行限制)。而且它也超出了日常加载工作的限制。我宁愿不选择此选项。
解决这种情况的任何想法?我想尽快加载这些数据。
感谢您阅读。
答案 0 :(得分:0)
我通过将GCS数据加载为一列来解决它。 然后下一步,我解析数据。