我能夠通過Golang服務(wù)器獲取大查詢表輸出為json。但是有沒有辦法直接獲取架構(gòu),而不是將其定義為?此外,任何方法都可以使它變得更好。ColStatsRowtype ColStatsRow struct { COLUMN_NAME string `bigquery:"column_name"` COLUMN_VALUE string `bigquery:"column_value"` FREQUENCY int64 `bigquery:"frequency"`}// getOutput prints results from a query func getOutput(w http.ResponseWriter, iter *bigquery.RowIterator) error { var rows []ColStatsRow for { var row ColStatsRow err := iter.Next(&row) if err == iterator.Done { out, err := json.Marshal(rows) if err != nil { return fmt.Errorf("error marshalling results: %v", err) } w.Write([]byte(out)) return nil } if err != nil { return fmt.Errorf("error iterating through results: %v", err) } rows = append(rows, row) }}
2 回答
慕仙森
TA貢獻(xiàn)1827條經(jīng)驗 獲得超8個贊
根據(jù)文檔,您可以指定一個 JSON 架構(gòu)文件,如下所示:
[
{
"description": "[DESCRIPTION]",
"name": "[NAME]",
"type": "[TYPE]",
"mode": "[MODE]"
},
{
"description": "[DESCRIPTION]",
"name": "[NAME]",
"type": "[TYPE]",
"mode": "[MODE]"
}
]
然后,您可以使用以下命令編寫此架構(gòu):
bq show --schema --format=prettyjson project_id:dataset.table > path_to_file
開滿天機(jī)
TA貢獻(xiàn)1786條經(jīng)驗 獲得超13個贊
如果位于結(jié)果的架構(gòu)之后,則它在 RowIterator 上可用。
如果你的意思是你想在沒有特定結(jié)構(gòu)的情況下更動態(tài)地處理行,通常檢查架構(gòu)和/或利用類型開關(guān)的某種組合是實現(xiàn)這一目標(biāo)的方法。
- 2 回答
- 0 關(guān)注
- 97 瀏覽
添加回答
舉報
0/150
提交
取消
