首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >处理bigquery中的坏行

处理bigquery中的坏行
EN

Stack Overflow用户
提问于 2016-02-18 08:15:22
回答 2查看 6.4K关注 0票数 2

我正在使用google.bigquery.python api,以便每天将数据集从GCS桶自动加载到Bigquery。我为这个数据集指定了一个模式,它一直工作到有一天出现了这个错误:

代码语言:javascript
运行
复制
ERROR - {u'state': u'DONE', u'errors': [{u'reason': u'invalid', u'message': u'Invalid argument: xxxxxxxxxxx@gmail.com', u'location': u'File: 0 / Line:1283011 / Field:44'},
{u'reason': u'invalid', u'message': u'Invalid argument: xxxxxxxxxxx@gmail.com', u'location': u'File: 0 / Line:1338016 / Field:44'}, {u'reason': u'invalid', u'message': u'Too many errors encountered. Limit is: 0.'}], u'errorResult': {u'reason': u'invalid', u'message': u'Too many errors encountered. Limit is: 0.'}}

我的问题是:如何让bigquery自动删除不符合模式的行?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-18 08:24:39

如果您使用的是bq命令行客户端,则选项是--max-bad-records。这说明了在加载任务失败之前要忽略多少坏记录。缺省值为零。我不记得设置这个正数是让坏行进入数据,还是只忽略和抑制错误。您可能需要手动测试它。

来自:https://cloud.google.com/bigquery/bq-command-line-tool

-max_ bad _records类型:整数描述:在load作业中止之前跳过的坏行的最大数目,并且不执行任何更新。如果此值大于0,则只要错误记录的数量不超过此值,作业就会成功。如果您希望加载可能有不良记录的文件,这将非常有用。此参数的默认值为0(所有行都必须有效)。 有效值:任意整数 Usage: bq load --max_bad_records=3 <destination_table> <data_source_uri> [<table_schema>]

在python中,这个字段称为maxBadRecords。您可以在maxBadRecords中搜索Github上的python BigQuery API回购,您将看到它在负载作业的作业API配置中。

票数 5
EN

Stack Overflow用户

发布于 2016-02-19 21:49:52

对不起,我不能对保罗的回答发表评论,因为我的名声还不到50。

Re:是否设置这个正数会让坏行进入数据,还是只忽略和消除错误。

坏行将被忽略,并且不会进入加载的数据。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35476072

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档