Go 读取不带结构的BQ查询结果

Go 读取不带结构的BQ查询结果,go,google-bigquery,Go,Google Bigquery,有人尝试过将查询结果存储到地图吗? 我希望能够从BQ表中读取数据,而无需定义与BQ表模式匹配的结构 我尝试了以下方法,但我想使用一个行迭代器,而不是这个链接中的方法 以下是我正在努力解决的代码: //Removed error handling for brewity ctx := context.Background() client, _ := bigquery.NewClient(ctx, ProjectID) query := fmt.Sprintf("SELECT * FROM `%

有人尝试过将查询结果存储到地图吗? 我希望能够从BQ表中读取数据,而无需定义与BQ表模式匹配的结构

我尝试了以下方法,但我想使用一个行迭代器,而不是这个链接中的方法

以下是我正在努力解决的代码:

//Removed error handling for brewity 
ctx := context.Background()
client, _ := bigquery.NewClient(ctx, ProjectID)
query := fmt.Sprintf("SELECT * FROM `%s.%s.%s` LIMIT 5;", ProjectID, DatasetId, ResourceName)
queryResult := client.Query(query)
it, _ := queryResult.Read(ctx)

for {
    row := make(map[string]bigquery.Value)
    err := it.Next(&row)
    if err == iterator.Done {
        break
    }
    if err != nil {
        fmt.Printf("Error happened")
    }}
我不确定在这之后如何继续,我理想地希望将数据转换为JSON格式

for {
     var values []bigquery.Value
     err := it.Next(&values)
     if err == iterator.Done {
        break
     }
     if err != nil {
    // TODO: Handle error.
}
fmt.Println(values)
}
将行放入切片中,因为您可以使用实现ValueLoader接口的任何东西,或者使用bigquery.Value的切片或映射来存储行

参考:

将行放入切片中,因为您可以使用实现ValueLoader接口的任何东西,或者使用bigquery.Value的切片或映射来存储行


ref:

如何从中获取列名和值?我可以使用map来获取列名,但它不适用于嵌套类型。使用BQ中的示例public DB创建另一个问题,我可以访问并ping Me如何从中获取列名和值?我可以使用map来获取列名,但它不适用于嵌套类型。使用BQ中的示例公共数据库创建另一个问题,我可以访问并ping我