我尝试使用Google Cloud Client Library将CSV文件上传到Bigquery。其中一个CSV文件的列中有'null'文本,而在上传文件Bigquery时会返回一条错误消息,说“Too Few Columns”。
示例文件数据:
column1,column2,column3,column4
1,null,3,null,
2,null,null,null
我已经验证了发送的配置json,它有4个列的4个表字段。并且错误消息显示'预期4列但有2列'。
是否需要处理此方案的特定配置?
答案 0 :(得分:2)
如果列是数字,则指定空值为空。
例如,这可行。
$ echo 2,,, > rows.csv
$ bq load lotsOdata.lfdhjv2 rows.csv c1:integer,c2:integer,c3:integer,c4:float
Waiting on bqjob_r4f71e9aebbf9cb57_00000144acfa7622_1 ... (23s) Current status: DONE
请注意,在上面的示例中,1,null,3,null,
行中会有一个额外的值,因为最后会有一个额外的逗号。另请注意,如果您的.csv文件有标题行,则应使用--skip_leading_rows = 1参数,以便标题不会被解释为数据。