【发布时间】:2014-05-06 20:52:28
【问题描述】:
我正在尝试使用 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:关闭双引号之间的数据 (") 和字段分隔符:字段以:--> 这是因为 Field:5 的值是逗号分隔列表
文件:0 / 行:127690 / 字段:1:值无法转换为 预期类型。 --> 实际字段值的类型与预期不同。
如何让 bigquery 将逗号分隔的列表读取为 Field:5 值并忽略字段值与预期类型不同的记录
【问题讨论】:
-
发现第二个错误:--max_bad_records=xx,但没有用。
-
用大数替换xx。这就是我所做的:)
-
在此之前,为了解决第一个错误,我使用 sed 删除了双引号。
-
现在我想删除第一列中以非整数开头的记录。
-
另一种选择:将所有内容导入为字符串,稍后在 BigQuery 中进行过滤和转换
标签: python sql google-bigquery google-cloud-storage google-cloud-sql