我试图将csv文件加载到bigquery表中。在某些列中,类型为VARCHAR(30)NOT NULL,而某些值则为'NULL'。因此,当我使用命令bq load进行加载时,出现以下错误:
读取数据时出错,错误消息:所需的'NULL'为空
我想将'NULL'值视为NOT NULL。 我想知道什么是最好的解决方案。
答案 0 :(得分:0)
在这种情况下,最好先处理数据,然后再将其导入BigQuery。您可以使用Cloud Dataprep处理NULL
值并将其转换为空字符串或任何您认为合适的值。您可以按照以下步骤操作:
- 在云控制台中,转到Dataprep
- 创建流程
- 添加数据集(导入CSV文件)
- 创建新食谱
- 在转换下,选择“替换”
- 选择原始数据列
- 在“匹配模式”下,添加以下正则表达式
/^$/
(这将匹配空字符串)- 选择您认为合适的新字符串值
作业完成后,您可以将结果导出为csv并将其导入到BigQuery。
请注意,如documentation
中所述,Dataprep将NULL
值视为MISSING