R의 BigRQuery 패키지를 사용하여 Google BigQuery의 테이블을 업데이트하는 데 어려움을 겪고 있습니다. 새 열 이름 만 패치했지만 값은 업데이트하지 않았습니다.
지금까지 내 코드는 다음과 같습니다.
library(bigrquery)
library(tidyverse)
projectId = "ABCD"
datasetId = "test"
tableId = 'table1'
mydf = mpg #just loading an example dataset
x <- list(projectId = projectId,
datasetId = datasetId,
tableId = tableId)
처음으로 테이블 업로드
bq_table_upload(x, values = mydf, fields = as_bq_fields(mydf))
이제 mydf에 열을 추가하십시오.
mydf$new_column = 0
그리고 그것을 업로드하십시오
bq_table_upload(x, values = mydf, fields = as_bq_fields(mydf))
이것은 테이블이 이미 존재한다는 오류를 제공합니다.
다음을 사용하여 새 열을 추가 할 수 있습니다.
bq_table_patch(x, fields = as_bq_fields(mydf))
그러나 모든 곳에서 "Null"값으로 생성됩니다. "new_column"에 값 (이 경우 0이어야 함)을 업로드하는 방법을 이해하지 못합니다.
어떤 도움이라도 대단히 감사하겠습니다!
DBI로 할 수 있다는 것을 알았습니다.
library(DBI)
DBI: dbWRiteTable
먼저 연결을 설정합니다.
bq_conn <- dbConnect(bigquery(),
project = projectId,
dataset = datasetId)
그리고
DBI::dbWriteTable(conn = bq_conn,
name = tableId,
value = df,
as_bq_fields(df),
overwrite = TRUE,
append = TRUE)
여기서는 df
기존 열에 대한 일부 값이있는 새 행을 포함하는 새 데이터 세트입니다. 물론 필요에 따라 추가 및 덮어 쓰기를 TRUE / FALSE로 선택할 수 있습니다. 누군가에게 도움이되기를 바랍니다 (더 나은 서비스를 제공하기위한 다른 솔루션 / 제안을 환영합니다. 저는 GCP와 R의 초보자입니다). 내 인터넷 검색 노력으로 답이없는 질문 하나만 찾았습니다 : https://community.rstudio.com/t/bigrquery-how-to-update-tables/31533
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다