未插入 Bigquery 数据
Bigquery data not getting inserted
我正在使用 python 客户端库将数据插入大查询 table。代码如下
client = bigquery.Client(project_id)
errors = client.insert_rows_json(table=tablename,json_rows=data_to_insert)
assert errors == []
没有错误,但也没有插入数据。
示例 JSON 行:
[{'a':'b','c':'d'},{'a':'f','q':'r'},.....}]
有什么问题吗?也不例外
可能有两种情况:
- 您的数据与架构不匹配
- 您的 table 是刚创建的,更新还不可用
参考文献:
client.insert_rows_json
方法使用 StreamingInsert
。
使用 StreamingInsert
将数据插入 BigQuery 将导致 BigQuery 控制台上的 table 预览出现延迟。
数据不会立即出现。所以,
您需要查询它们以确认插入的数据。
得到了我的问题的答案。问题是我再插入一个数据不存在的列数据。我找到了一个 hack 来查明数据是否没有插入到 bigquery table。
- 将数据更改为换行符分隔 json,键作为列名,值作为特定列所需的值。
bq --location=US load --source_format=NEWLINE_DELIMITED_JSON dataset.tablename newline_delimited_json_file.json
。 运行 在您的终端中执行此命令并查看是否抛出任何错误。如果它抛出错误,则可能是您的 data/table 架构有问题。
- 根据错误更改 data/table 架构并通过 python 重试插入相同的架构。
如果 python API 在终端上抛出一个 error/exception 就更好了,这会很有帮助。
我正在使用 python 客户端库将数据插入大查询 table。代码如下
client = bigquery.Client(project_id)
errors = client.insert_rows_json(table=tablename,json_rows=data_to_insert)
assert errors == []
没有错误,但也没有插入数据。
示例 JSON 行:
[{'a':'b','c':'d'},{'a':'f','q':'r'},.....}]
有什么问题吗?也不例外
可能有两种情况:
- 您的数据与架构不匹配
- 您的 table 是刚创建的,更新还不可用
参考文献:
client.insert_rows_json
方法使用 StreamingInsert
。
使用 StreamingInsert
将数据插入 BigQuery 将导致 BigQuery 控制台上的 table 预览出现延迟。
数据不会立即出现。所以,
您需要查询它们以确认插入的数据。
得到了我的问题的答案。问题是我再插入一个数据不存在的列数据。我找到了一个 hack 来查明数据是否没有插入到 bigquery table。
- 将数据更改为换行符分隔 json,键作为列名,值作为特定列所需的值。
bq --location=US load --source_format=NEWLINE_DELIMITED_JSON dataset.tablename newline_delimited_json_file.json
。 运行 在您的终端中执行此命令并查看是否抛出任何错误。如果它抛出错误,则可能是您的 data/table 架构有问题。- 根据错误更改 data/table 架构并通过 python 重试插入相同的架构。
如果 python API 在终端上抛出一个 error/exception 就更好了,这会很有帮助。