我试图将csv文件加载到bigquery表中。有些列的类型是 VARCHAR(30( 而不是 NULL,有些值是 'NULL'。因此,当我使用命令bq加载时,出现以下错误:
读取数据时出错,错误消息:"NULL"为空,表示需要
我想将"空"值视为非空值。 我想知道解决这个问题的最佳解决方案是什么。
在这种情况下,最好先处理数据,然后再将其导入 BigQuery。您可以使用 Cloud Dataprep 来处理NULL
值,并将其转换为空字符串或任何您认为合适的字符串。您可以按照以下步骤操作:
- 在云控制台中,转到数据准备
- 创建流
- 添加数据集(导入 CSV 文件(
- 创建新配方
- 在转换下选择"替换">
- 选择源数据列
- 在"匹配模式"下,添加以下正则表达式
/^$/
(这将匹配空字符串(- 选择您认为合适的新字符串值
作业完成后,您可以将结果导出为 csv 并将其导入 BigQuery。
请注意,Dataprep 将NULL
值视为文档中所述的MISSING