Dim*_*rov 7 integer r biginteger google-bigquery bigrquery
通过API通过R从BigQuery查询数据时,是否有比将大数转换为字符串更好的处理大整数的方法?
这是一个MVE,显示整数显示为“ NA”的问题:
> library(bigrquery)
>
> bq_str <- "
+ SELECT
+ 206932402797274623 AS big_pk
+ ,SAFE_CAST(206932402797274623 AS string) AS string_pk
+ "
>
> my_df <- bigrquery::query_exec(query = bq_str,
+ project = 'XXXXXXXXXXX',
+ use_legacy_sql = FALSE,
+ bigint = "integer64")
0 bytes processed
Warning message:
In converter[[type]](data_m[i, ]) :
NAs introduced by coercion to integer range
> head(my_df)
big_pk string_pk
1 NA 206932402797274623
Run Code Online (Sandbox Code Playgroud)
这是代码:
library(bigrquery)
bq_str <- "
SELECT
206932402797274623 AS big_pk
,SAFE_CAST(206932402797274623 AS string) AS string_pk
"
my_df <- bigrquery::query_exec(query = bq_str,
project = 'XXXXXX',
use_legacy_sql = FALSE,
bigint = "integer64")
head(my_df)
Run Code Online (Sandbox Code Playgroud)
我正在使用1.1.1版bigrquery。
小智 5
关于query_exec,已弃用,请尝试使用bq_query。
如果只希望避免强制转换为字符串,建议将其强制转换为数字。
否则,您还可以bq_table_download记住将bigint映射到“ integer64”。
| 归档时间: |
|
| 查看次数: |
121 次 |
| 最近记录: |