我想从json格式的Google云存储文件中加载BigQuery中的表格,并拥有自动检测架构'启用BigQuery控制台UI时可用的选项。
我想在Go中使用BigQuery包cloud.google.com/go/bigquery
执行此操作,但无法从文档中找到它。有人可以提供代码示例吗?我不想使用Python。
答案 0 :(得分:0)
感谢您的参考。必须将FileConfig结构设置为GCSReference的属性:
// Load JSON formatted files from
// Google Cloud Storage to BigQuery
// Auto-detect schema
func LoadTblJson(ctx context.Context, client *bigquery.Client,
pth string, datasetName string, tableName string) {
dataset := client.Dataset(datasetName)
gcsRef := bigquery.NewGCSReference(pth)
// set FileConfig attribute of GCSReference struct
var dataFormat bigquery.DataFormat
dataFormat = "NEWLINE_DELIMITED_JSON"
flConfig := bigquery.FileConfig{SourceFormat: dataFormat,
AutoDetect: true, Schema: nil}
gcsRef.FileConfig = flConfig
loader := dataset.Table(tableName).LoaderFrom(gcsRef)
loader.CreateDisposition = bigquery.CreateIfNeeded
loader.WriteDisposition = bigquery.WriteEmpty
job, err := loader.Run(ctx)
if err != nil {
//Handle
}
status, err := job.Wait(ctx)
if err != nil {
// Handle
}
if status.Err() != nil {
//Handle
}
}