gpt4 book ai didi

R 到 BigQuery 数据上传错误

转载 作者:行者123 更新时间:2023-12-05 02:15:47 25 4
gpt4 key购买 nike

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

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

但我是以下错误信息:

Error: Invalid schema update. Field NewID has changed type from STRING to INTEGER

BigQuery 似乎在自动检测数据格式,并错误地认为 NewID 列(其值如“00487”)是数字,而实际上它是一个字符串。当我将“x”字符附加到 NewID 值时,错误消失并且上传功能完美。使用“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 数据上传错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51181966/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com