我有一个云功能,可以读取输入的csv文件并将其加载到大查询中。现在的挑战是,我可以获取具有不同架构的csv文件(不是结尾,顺序可以在任何地方更改),如何通过读取头记录和准备架构并为不属于此的列插入null /默认值来处理文件出现在输入中。
答案 0 :(得分:0)
确保将--schema_update_option设置为ALLOW_FIELD_ADDITION并指定新表的模式,例如
bq --project_id <project_id> load --source_format=CSV --schema_update_option ALLOW_FIELD_ADDITION <dataset_id>.<table_id> <data> new_col:STRING,new_col2:STRING
取决于原始的表架构,您可能需要使用--schema_update_option ALLOW_FIELD_RELAXATION
来将必填字段放松为可空值。