【问题标题】:Mixed up column order, DBI::dbWriteTable used in R for BigQuery混合列顺序,DBI::dbWriteTable 在 R 中用于 BigQuery
【发布时间】:2021-07-22 14:27:54
【问题描述】:

在 R 中执行以下代码创建新表时, 在 BigQuery 中创建的表的列顺序混淆了。

代码:

library(DBI)
    
con <- dbConnect(
      bigrquery::bigquery(),
      project = "project_name",
      dataset = "dataset_name",
      billing = billing
    )


DBI::dbWriteTable(conn = con,
                  name = "table_name",
                  value = dataframe
                  )

预期输出:

model Seg1 Seg2 Seg3 max
MDE12, 1, 7, 2, 7
KDV02, 3, 8, 3, 8
LKD21, 0, 9, 1, 9 

实际输出:

max Seg3 Seg1 model Seg2
7, 2, 1, MDE12, 7
8, 3, 2, KDV02, 8
9, 1, 0, LKD21, 9

请帮助我这个地球上的智者。

先谢谢了 :)

【问题讨论】:

    标签: r google-bigquery dbi


    【解决方案1】:

    函数bigrquery::dbWriteTable 没有指定列顺序的参数。但是,这篇文章的评论

    Maintain column order when uploading an R data frame to Big Query

    提供了使用bigrquery 方法的解决方案。我已经对其进行了测试,它“有效”。

    评论:

    您是否尝试过提供要使用的字段列表?例如,bq_table_upload("project.dataset.table_name", df_name, fields=df_name)。当您提供 fields 参数作为数据框时,the table schema is generated from it 并在 upload request 中使用。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-02-10
      • 2023-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-05-02
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多