BigQuery中CSV值的模式
我正在尝试使用bq命令行工具将数据加载到bigquery中。数据的格式是这样的(TSV格式):
time_stamp:INTEGER
id:INTEGER
url:STRING (-- unused/ignore)
domain:STRING
keyword:STRING
normalized_key:STRING (-- comma separated list)
is_natural:BOOLEAN (as "t"/"f")
category_code:STRING
p_id:STRING
但是我遇到了以下错误:
File: 0 / Line:120642 / Field:5: Data between close double quote
(") and field separator: field starts with: <massive >
File: 0 / Line:127690 / Field:1: Value cannot be converted to
expected type.
我的理解是:
文件:0 / 行:120642 / 字段:5:在关闭的双引号(")和字段分隔符之间的数据:字段开始于: --> 这是因为字段5的值是用逗号分隔的列表。
文件:0 / 行:127690 / 字段:1:值无法转换为预期的类型。 --> 实际的字段值与预期的类型不同。
我该如何让bigquery将逗号分隔的列表作为字段5的值读取,并忽略那些字段值与预期类型不同的记录呢?
1 个回答
1
试着把引号字符设置为'\0'或者其他在表格中不会出现的字符。TSV文件通常不会给字段加引号(也就是说,你不会看到像 a\t"foo bar"\tbaz
这样的行),所以这样设置应该没问题,除非你有一些需要加引号的制表符(在TSV文件中这种情况不太可能出现)。