R到BigQuery数据上传错误

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了R到BigQuery数据上传错误相关的知识,希望对你有一定的参考价值。

我正在使用R包“bigrquery”将数据从R数据帧上传到现有的BigQuery表中,如下所示:

mybq = bq_table(project='...', dataset='...', table=...)
bq_table_upload(x=mybq, values=..., create_disposition='CREATE_NEVER', 
                write_disposition='WRITE_APPEND')

但我是以下错误消息:

错误:架构更新无效。字段NewID已将类型从STRING更改为INTEGER

BigQuery似乎是自动检测数据格式,并错误地认为NewID列(其值为“00487”)在数字实际为字符串时是数字。当我向NewID值添加“x”字符时,错误消失,上传功能完美。有没有办法在使用“bigrquery”包上传数据时禁用自动检测?

答案

同一个库中的bq_perform_load函数应该是一个解决方案。在此函数中,您可以使用参数fields指定模式,因此Bigquery不会自动检测模式,如here所述。

我测试了它,并在我的结束。我创建了一个包含两列(STRING,STRING)的表,这是我的源数据:

0017    0015
0123    1234
1022    1202

我在R中运行以下命令使其工作:

bq_perform_load('MY_PROJECT.MYDATASET.MYTABLE', "MY_GCS_OBJECT_LINK", nskip = 0, fields = list(bq_field("test1", "string"),bq_field("test2", "string")) , source_format = "CSV",create_disposition = "CREATE_NEVER", write_disposition = "WRITE_APPEND")

注意:我第一次尝试使用fields = NULL运行相同的命令,但它失败了。

以上是关于R到BigQuery数据上传错误的主要内容,如果未能解决你的问题,请参考以下文章

错误代码:在 BigQuery 上加载数据时无效

由于 InvalidSchema 错误,将 Pandas 上传到 BigQuery 失败

使用 Pandas 或命令行上传到 BigQuery 时出现奇怪的重复字段错误。所有字段唯一

使用 R 将数据插入 BigQuery

表格到 Bigquery - 设置最大允许错误

如何从闪亮写入 bigquery 表?